如何通知服务器关闭的TCP客户端
使用非阻塞(20毫秒周期)在linux的TCP连接,我有一个问题:如何通知服务器关闭的TCP客户端
当我从服务器端[关闭(SD)关闭套接字或关闭(sd,2);关闭(sd)],则客户端poll()不会收到POLLHUP事件。
当服务器从外壳中死亡,收到POLLHUP。
如何在一个或两个周期内通知客户?
TCP断开连接使用POLLIN发送信号,并且在正常关闭或-1和适当的错误(errno是EINTR/EWOULDBLOCK以外的任何东西)时,read()将返回0。
有些平台可能会用POLLHUP发送信号,所以您可能也想处理这种情况。
谢谢,它现在工作正常。 – 2012-03-14 11:19:35
您能否阐述SIGHUP与TCP以及哪些平台的优点? – 2012-03-14 11:34:33
@nos:好吧,它谈论'POLLHUP'。尽管没有提及'SIGHUP'。 – 2012-03-14 12:14:23
如果您对答案感到满意,请将其标记为已接受。 – 2012-03-14 11:26:12