bool CSocket::OnConnect(CString hostip,int port) //连接
{
// AfxMessageBox(hostip);
struct sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_addr.S_un.S_addr=inet_addr((char *)&hostip);
sin.sin_port=htons(port);
if(::connect(sock,(const sockaddr *)&sin,sizeof(sin))==SOCKET_ERROR)
{
AfxMessageBox("连接失败!");
return false;
}
return true;
}
什么老是连接失败啊!
是不是那里有问题啊?
{
// AfxMessageBox(hostip);
struct sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_addr.S_un.S_addr=inet_addr((char *)&hostip);
sin.sin_port=htons(port);
if(::connect(sock,(const sockaddr *)&sin,sizeof(sin))==SOCKET_ERROR)
{
AfxMessageBox("连接失败!");
return false;
}
return true;
}
什么老是连接失败啊!
是不是那里有问题啊?
if(::connect(sock,(const sockaddr *)&sin,sizeof(sin))==SOCKET_ERROR)
{
int nError = WSAGetLastError();
CString str;
str.Format("Error: 连接失败,错误码:%d", nError );
AfxMessageBox(str);
return false;
}
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
0, GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言
(LPTSTR)&lpMsgBuf, 0, NULL);
//显示
::MessageBox(0,(LPCTSTR)lpMsgBuf,_T("GetLastError"),MB_OK|MB_ICONINFORMATION );
//释放内存
::LocalFree( lpMsgBuf );