BOOL CreateSocket(const char* pIP)
{
//ASSERT(g_sockRecv);
BOOL bPassed = TRUE;
g_sockRecv = socket(AF_INET, SOCK_STREAM, 0);
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = inet_addr(pIP);
addr.sin_port = htons(8050);
int iRet = connect(g_sockRecv, (LPSOCKADDR)&addr, sizeof(addr));
if(iRet == SOCKET_ERROR)
{
MessageBox(NULL,"创建TCP Socket失败,停止测试","系统初化",MB_ICONERROR);化",MB_ICONERROR);
bPassed = FALSE;
closesocket(g_sockRecv);
}
return bPassed;
}为什么使用次程序第一次连接成功,然后使用closesocket(g_sockRecv);关闭后 再次连接服务端就连接不上了!!
{
//ASSERT(g_sockRecv);
BOOL bPassed = TRUE;
g_sockRecv = socket(AF_INET, SOCK_STREAM, 0);
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = inet_addr(pIP);
addr.sin_port = htons(8050);
int iRet = connect(g_sockRecv, (LPSOCKADDR)&addr, sizeof(addr));
if(iRet == SOCKET_ERROR)
{
MessageBox(NULL,"创建TCP Socket失败,停止测试","系统初化",MB_ICONERROR);化",MB_ICONERROR);
bPassed = FALSE;
closesocket(g_sockRecv);
}
return bPassed;
}为什么使用次程序第一次连接成功,然后使用closesocket(g_sockRecv);关闭后 再次连接服务端就连接不上了!!
失败后,用此函数获得错误号
你随便找一个来试验一下,然后就OK了。
一般是不这么放的,一般放在整个连接过程结束,比如传送完数据的时候
WSAGetLastError
失败后,用此函数获得错误号我老用这个函数了WSAGetLastError去看我的代码,很少,很简单