gpt4 book ai didi

c - 如何通知 tcp 客户端服务器关闭

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

在 linux 中使用非阻塞(20 毫秒周期)TCP 连接,我遇到了一个问题:

  • 当我从服务器端关闭套接字时 [close(sd) 或 shutdown(sd,2);close(sd)],客户端 poll() 没有收到 POLLHUP 事件。

  • 当服务器被 shell 杀死时,会收到 POLLHUP。

如何在一两个周期内通知客户?

最佳答案

TCP 断开连接由 POLLIN 发出信号,并且 read() 将在正常关闭的情况下返回 0,或者 -1 和适当的错误(errno 不是 EINTR/EWOULDBLOCK)。

有些平台可能会用 POLLHUP 发出信号,因此您可能也想处理这种情况。

关于c - 如何通知 tcp 客户端服务器关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700696/

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