c++ - 当服务器重新启动并且客户端收到 WSAECONNRESET 错误代码时,我是否应该重新创建整个套接字

标签 c++ sockets winapi winsock

当服务器重新启动并且客户端在最后一次调用 send 函数时收到 WSAECONNRESET 错误代码时,我是否应该重新创建整个套接字?似乎我无法再次在同一个套接字上调用 connect 函数——它会一次又一次地失败并显示 WSAEISCONN 错误代码。我是否需要调用 closesocket 并使用 socket 函数再次创建 SOCKET

最佳答案

一旦套接字连接断开,您必须关闭 SOCKET 句柄并创建一个新句柄。唯一的异常(exception)是如果您使用 DisconnectEx()使用 TF_REUSE_SOCKET 标志,然后 SOCKET 可以与 ConnectEx() 重用或 AcceptEx() .

关于c++ - 当服务器重新启动并且客户端收到 WSAECONNRESET 错误代码时,我是否应该重新创建整个套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222112/

相关文章:

c# - 从 C# 解决方案调试 C++ 解决方案

c++ - 我如何搜索对象指针列表? C++

c++ - C++ 中类级 new 删除运算符的线程安全

c++ - 处理MFC中的耗时操作

c++ - URLDownloadToFile 失败并返回 0x800c0008 (INET_E_DOWNLOAD_FAILURE),具体取决于 URL 的长度

c++ - 依赖于其他静态库的静态库

python - 使用 websockets 和 python/django(/扭曲?)

java - 在Java中的现有套接字上创建未连接的SSLSocket

javascript - 使用 Socket.io 和 Node.js 进行倒数计时器广播

.net - 如何在.NET中创建可继承的信号量?