if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)
return -1;
mListen = socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(mListen == SOCKET_ERROR)
return -2; aLisen.sin_family = AF_INET;
aLisen.sin_port = htons(7777);
aLisen.sin_addr.s_addr = htonl(INADDR_ANY); if(bind(mListen,(struct sockaddr*)&aLisen,sizeof(aLisen) == SOCKET_ERROR))
{
CString tmp;
tmp.Format("%s:%d","Bind Error",WSAGetLastError());
AfxMessageBox(tmp);//Bind Error:10014
return -3;
}
listen(mListen,8);
bind会出错,为什么?谢谢!
return -1;
mListen = socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(mListen == SOCKET_ERROR)
return -2; aLisen.sin_family = AF_INET;
aLisen.sin_port = htons(7777);
aLisen.sin_addr.s_addr = htonl(INADDR_ANY); if(bind(mListen,(struct sockaddr*)&aLisen,sizeof(aLisen) == SOCKET_ERROR))
{
CString tmp;
tmp.Format("%s:%d","Bind Error",WSAGetLastError());
AfxMessageBox(tmp);//Bind Error:10014
return -3;
}
listen(mListen,8);
bind会出错,为什么?谢谢!
aLisen.sin_addr.s_addr = INADDR_ANY //这样就可以的
if(bind(mListen,(struct sockaddr*)&aLisen,sizeof(aLisen) == SOCKET_ERROR))
括号的位置不对
if(bind(mListen,(struct sockaddr*)&aLisen,sizeof(aLisen)) == SOCKET_ERROR)
就OK。
谢谢二位的参与!!!