我写了一个套接字服务器,在 linux 上运行,但这可能不是 linux 规范。
我poll()
用来检查客户的状态。我的客户在发送请求后会主动(半)关闭。由于客户端的半关闭,服务器不断获取POLLHUP
和。POLLERR
我也看到POLLRDHUP
了,所以我知道这实际上是半关闭而不是连接关闭/重置。我的问题是我总是会收到这些事件,即使我已经从之前的民意调查中知道有一半接近。
我怎样才能禁用它,这样我就不再收到 thisis 事件了?我试图做额外的事情read()
并做一个shutdown(fd, SHUT_RD)
,但它似乎没有帮助。我不想poll
因为我已经处理过的事件而醒来。