bind()绑定不了,是怎么回事?
// sockWin32.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "winsock.h"
#pragma comment(lib, "wsock32")
int _tmain(int argc, _TCHAR* argv[])
{
SOCKET m_hSocket;
SOCKADDR_IN m_addr;
m_hSocket=socket(AF_INET, SOCK_STREAM,0);
m_addr.sin_family=AF_INET;
m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
m_addr.sin_port=htons(8080);
int ret=0;
int error=0;
ret=bind(m_hSocket,(LPSOCKADDR)&m_addr, sizeof(m_addr));
if(ret==SOCKET_ERROR)
{
printf("绑定端口失败!%d",ret);
int j=0;
scanf("%d",j);
return 0;
}
ret=listen(m_hSocket, 2);
if(ret==SOCKET_ERROR)
{
printf("监听端口失败!");
return 0;
}
SOCKET s = accept(m_hSocket, NULL, NULL);
if(s==SOCKET_ERROR)
{
printf( "接受监听失败!");
return 0;
}
char buff[256];
ret=recv(s,buff,256,0);
if(ret==0||ret==SOCKET_ERROR)
{
printf("接收数据失败!");
closesocket(m_hSocket);
return 0;
}else
{
printf("接收数据成功!正在返回信息........");
char msg[19]="服务端接收数据成功";
ret=send(s,msg,19,0);
if(ret==0||ret==SOCKET_ERROR)
{
printf("服务端发送数据失败!");
closesocket(m_hSocket);
return 0;
}
}
return 0;
}
代码是这样的,请问哪里出错????