请高手看看这段代码 服务器端监听时为何报错(CSocket编的聊天程序)
m_Port=5001;
WORD wversion;
WSADATA wsadata;
wversion=MAKEWORD(1,1);
BOOL ret=WSAStartup(wversion,&wsadata);
if(ret!=0)
{
AfxMessageBox("fail");
return false;
}
CSocket serversock;
serversock.Create(m_Port,SOCK_STREAM,"127.0.0.1");
sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=htonl(INADDR_ANY);
addr.sin_port=htons(5001);
if(serversock.Bind((struct sockaddr*)&addr,sizeof(sockaddr)))
{
AfxMessageBox("绑定失败");
}
if(serversock.Listen(1)==SOCKET_ERROR)
{
AfxMessageBox("call answer");
}
else
{
AfxMessageBox("sock error");
int ErrorCode=WSAGetLastError();
}
CSocket accsock;
if(serversock.Accept(accsock)==INVALID_SOCKET)
{
AfxMessageBox("acc succ");
}
else
{
AfxMessageBox("acc fail");
int ErrorCode=WSAGetLastError();
}
memset(buf,0,sizeof(char)*1024);
serversock.Receive(buf,sizeof(buf),MSG_PEEK);
运行后 弹出消息框 "sock error" 不知为何
望高手指点