Socket使用Connect时连接不上?
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中的连接很正常呢?,希望高手能给个解答
...全文
相关推荐
ipad 与web的socket通信
**Socket.IO-Client-Swift**: Socket.IO提供了一个强大的跨平台解决方案,不仅支持WebSocket,还支持其他退化技术,确保在网络条件不佳时仍能保持连接。
c语言原始SOCKEt编程.pdf
本文档将从基本概念开始,讲解什么是 socket,socket 的类型,socket 编程的基本函数和数据报套接字的使用。什么是套接字?套接字是一种使用标准 Unix 文件描述符和其他程序通讯的方式。
php socket编程实例详解
- **接受连接**:当有客户端连接时,使用`socket_accept()`函数接收连接请求,并返回一个新的Socket用于与客户端通信。
linux_socket编程.pdf
这一步骤对于 Socket 编程非常重要。connect() 函数connect() 函数是将套接字连接到一个远程主机的函数。这一步骤对于 Socket 编程非常重要。
c语言实现socket.docx
- **数据报套接字(UDP)**:这种类型的Socket使用UDP协议,它是一种无连接的服务,不保证数据包的顺序到达和可靠性。


网络编程
