【发布时间】:2013-02-02 05:40:48
【问题描述】:
我正在使用winsock,并以标准方式打开我的套接字(我正确处理错误,但为了这个问题,我已经简化了代码);
SOCKET sSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
如果我这样连接它,它可能偶尔会失去连接。
connect(sSocket, reinterpret_cast<SOCKADDR*>(&sinAddr), sizeof(sinAddr));
发生这种情况时,我需要关闭并重新创建套接字,还是只需要重新调用 connect() ?
【问题讨论】:
-
socket会连接到不同的端点还是同一个端点?
-
同一个服务器/主机,socket本身不会有变化的设置。
-
TCP 套接字(您正在使用的)一旦连接就不需要重新连接。但是如果你必须重新连接,你必须(好的做法)关闭这个套接字,然后调用 connect()
-
我是否需要再次调用 socket() 才能重新创建它..?
-
不,您不需要再次创建套接字。