我这个BIND函数为什么出错啊
我这个SOCKET服务端端的BIND代码在CPP文件跑没有任何问题,但是在MFC当做按钮里面的函数就不行,哪个大神能告诉我出了什么问题啊,非常感谢,代码如下:
void CsocketserverDlg::OnBnClickedButton1()
{
WSADATA wsd;
SOCKET server;
SOCKET sClient;
int retVal;
char buf[64];
//初始化Socket动态数据库
if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)
{
AfxMessageBox(_T("WSAStartup failed !\n"));
return ;
}
//创建用于监听的Socket
server = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET == server)
{
AfxMessageBox(_T("socket failed !\n"));
WSACleanup();
return ;
}
//设置服务器Socket地址
SOCKADDR_IN addrServ;
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(9990);
addrServ.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
//绑定套接字
retVal = bind(server,(const sockaddr*)&addrServ,sizeof(SOCKADDR_IN));
if(SOCKET_ERROR == retVal)
{
AfxMessageBox(_T("bind failed !\n"));
closesocket(server);
WSACleanup();
return ;
}
//启动监听
retVal = listen(server,1);
if(SOCKET_ERROR == retVal)
{
AfxMessageBox(_T("litsen failed !\n"));
closesocket(server);
WSACleanup();
return ;
}
// TODO: 在此添加控件通知处理程序代码
}