gpt4 book ai didi

c - 套接字卡在 CLOSE_WAIT 状态

转载 作者:行者123 更新时间:2023-11-30 15:59:48 24 4
gpt4 key购买 nike

当我的两个守护进程相互通信时,我的套接字陷入 close_wait 状态。在阅读了有关该主题的不同问题和博客文章后,我已经验证我正在从双方(发起者和接收者)关闭套接字。

模型如下:

发件人:建立连接,发送数据,等待确认,关闭连接

接收者:接收连接、读取数据、发送确认、关闭连接

谁能告诉我我做错了什么?注意:我现在使用 close() 来关闭连接。我也尝试过使用关机,但它并没有改变什么。任何提示将不胜感激。

编辑:关闭套接字后不久,接收守护进程就会 fork 。我尝试将文件描述符传递给 fork 的函数并在子进程中再次显式关闭它,但这并没有解决我的问题。 fork 是否有其他方式影响这个过程?请注意,发送守护进程不会 fork 。

最佳答案

查看wireshark后,我看到最后的FIN_ACK说:

“[TCP ACKed 丢失段] [TCP 前一个段丢失] ...”

事实证明,我的问题是由于两个守护进程在同一个机器上运行而引起的(我们为测试添加的东西)。在多个盒子上再次尝试后,我们不再遇到这个问题。

关于c - 套接字卡在 CLOSE_WAIT 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423953/

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