我想我会为此开始一个新问题。 我有一个TCP服务器/客户端设置,他们沟通我一般想要的方式。 1个服务器和1个客户端。Winsock - 重新连接客户端到服务器 - 10061
我现在要做的是添加功能,允许客户端在连接丢失后自动重新连接到服务器。我无法在网上找到有关如何执行此操作的完整信息。这是(希望)相关的问题代码:
SERVER:
case FD_ACCEPT: //Connection request
{
SOCKET TempSock = accept(s, (struct sockaddr*)&fromm, &fromlenn);
s = TempSock; //Switch old socket to the new one
m_sNetworkStatus.Format("[%s] accepted.", inet_ntoa(fromm.sin_addr));
m_hNetworkStatus.SetWindowTextA(m_sNetworkStatus);
}
第一个客户端连接经过精细。服务器侦听,客户端连接,客户端断开连接... 但是客户端第二次尝试连接由此产生的客户端IP地址(如服务器所见),使得打印inet_ntoa(fromm.sin_addr))
将输出[0,0,0,0]
。因此,客户端“认为”它的连接,但它是不是和服务器打印,它接受连接,但没有数据可以发送...断开连接的客户端,并试图再次重新连接导致
连接拒绝10061错误。
(如果我从服务器端断开,并听取了新的端口有没有问题)
谢谢!
完美谢谢! – Soran 2012-07-16 01:42:17