gpt4 book ai didi

c - 如何删除 CLOSE_WAIT 套接字连接?

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:48 26 4
gpt4 key购买 nike

我在 C 中使用套接字编写了一个简单的程序,它在运行 Windows 的 X86 和运行嵌入式 Linux 的 ARM 之间创建了一个连接(仅由 Busybox 和 libc 组成)。突然这个小程序无法连接 Windows 和 Linux,然后我运行“netsta -a”发现3个socket状态为CLOSE_WAIT,PID为NULL,于是尝试修改“net.ipv4.tcp_keepalive_×”,但因为busybox只有基本的我无法使用 /etc/rc.d/init.d/network restart 使修改生效。

所以我想知道:

  1. 如何使用 Busybox 使更改生效?
  2. 我如何使用套接字来避免 CLOSE_WAIT 问题?

最佳答案

How do I remove a CLOSE_WAIT connection that doesn't belong to any tasks?

因为我们已经确定进程仍在运行,所以它确实属于任务。我们还确定 netstat 输出是一个完整的红鲱鱼。

您所要做的就是关闭套接字。您可能会在连接失败后忘记关闭它。这只是一个常见的或典型的文件/套接字描述符泄漏。

关于c - 如何删除 CLOSE_WAIT 套接字连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331007/

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