gpt4 book ai didi

c++ - Winsock - 将客户端重新连接到服务器基础知识 - TIME_WAIT

转载 作者:行者123 更新时间:2023-11-30 03:01:02 27 4
gpt4 key购买 nike

我设置了一个 TCP 服务器/客户端,它们按照我通常想要的方式进行通信。

我现在想做的是添加允许客户端在连接丢失后自动重新连接到服务器的功能。我无法在线找到有关如何执行此操作的完整信息。

详细信息:-我只有 1 台服务器,到目前为止它最多只能承载 1 个连接。- 当客户端或服务器断开连接时 - 都关闭(像这样关闭服务器和客户端的套接字是否明智?)

理想情况下,我希望客户端每次都能够重新连接到服务器上的同一端口。我了解 TIME_WAIT 及其必要性。我真的不想使用 SO_REUSEADDR 除非我没有其他选择。一般是怎么处理的?在等待旧套接字完成 TIME_WAIT 并基本上在两个端口之间交替(这意味着客户端必须跟踪 2 个可能的端口)时,我是否应该在服务器端打开一个新端口?

感谢您的建议!

最佳答案

TIME_WAIT 是 TCP 连接的状态,不是端口。每个 TCP 连接都由元组(本地地址、本地端口、远程地址、远程端口)标识。因此,如果客户端使用新的(动态)本地端口连接到服务器,则会创建新的 TCP 连接并且 TIME_WAIT 不是问题。

关于c++ - Winsock - 将客户端重新连接到服务器基础知识 - TIME_WAIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com