Socket使用Connect时连接不上?

yangbear111 yangbear111 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

UINT Create(LPVOID lpParam)
{
SOCKETINFO *Create_Thread=(SOCKETINFO *)lpParam;
WSADATA WSA;
SOCKET hSocket;
WSAStartup (MAKEWORD(2, 2), &WSA);
hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
WSASocketA(AF_INET, SOCK_STREAM,IPPROTO_TCP,NULL,0,WSA_FLAG_OVERLAPPED);
//int nRet =connect(hSocket,(const struct sockaddr *)&(Create_Thread->Addr), sizeof(sockaddr)); //连接服务器
//if(nRet==SOCKET_ERROR)
//{
// AfxMessageBox("Create连接失败");
// closesocket(hSocket);
//}
{
SOCKETINFO *Test_Thread =new SOCKETINFO;
unsigned long Test_threadID;
Test_Thread->sock=hSocket;
Test_Thread->Addr.sin_addr=Create_Thread->Addr.sin_addr;
Test_Thread->Addr.sin_family=Create_Thread->Addr.sin_family;
Test_Thread->Addr.sin_port=Create_Thread->Addr.sin_port;
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&Test,Test_Thread,0,&Test_threadID);
}
return 0;
}
UINT Test(LPVOID lpParam)
{
SOCKETINFO *Test_Thread=(SOCKETINFO *)lpParam;
if(Fresh_Thread->sock == INVALID_SOCKET)
{
AfxMessageBox("Socket不可用");
closesocket(Test_Thread->sock);
}
else
{
Ret =connect(Fresh_Thread->sock,(const struct sockaddr *)&(Test_Thread->Addr),sizeof(sockaddr)); //连接服务器
if(Ret==SOCKET_ERROR)
{
AfxMessageBox("连接失败");
closesocket(Test_Thread->sock);
}
else
{
………………
}

问下为什么Test_Thread线程中的Connect始终显示连接失败,而在Create_Thread中的连接很正常呢?,希望高手能给个解答
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
yangbear111
网络编程 18,356 成员 64,161 内容