gpt4 book ai didi

c - UNIX 域套接字在 close() 后未关闭

转载 作者:太空狗 更新时间:2023-10-29 15:08:55 24 4
gpt4 key购买 nike

我有一个客户端应用程序通过 QMP Unix 域套接字与 QEMU 进程通信。有时,客户端在套接字连接上调用 close() 后,'netstat -ap unix' 仍显示它处于 CONNECTED 状态。我确实检查了 close() 调用的返回值,它成功返回值为 0,但连接似乎仍然存在。

由于 QMP 并不真正支持其套接字上的多个连接,因此所有后续连接到套接字的调用都会失败,因为它们会无限期地等待延迟连接的关闭。

有没有办法从代码中确定套接字确实关闭了,有没有办法强制关闭套接字?

最佳答案

可能是文件描述符被duped、forked 或泄露了。

调用shutdown(sock, SHUT_RDWR)closeing 之前关闭连接。

关于c - UNIX 域套接字在 close() 后未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28591587/

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