Winsock的;在重新连接之前是否需要关闭套接字?

时间:2013-02-02 05:40:48

标签: c++ c winapi winsock

我正在使用winsock并以标准方式打开我的套接字(我正确处理错误,但为了这个问题,我已经使代码简短了);

SOCKET sSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

如果我这样连接它,偶尔会丢失连接。

connect(sSocket, reinterpret_cast<SOCKADDR*>(&sinAddr), sizeof(sinAddr));

发生这种情况时,是否需要关闭并重新创建套接字,还是应该重新调用connect()?

1 个答案:

答案 0 :(得分:1)

套接字close()后,它不能再使用了。

反之亦然:只要未在套接字上调用close(),就可以(重新)使用它。

socket()的调用为调用进程分配套接字描述符。套接字描述符存在并保持分配给进程,直到调用close()