我寫了一個套接字服務器,運行在linux上,但這可能不是linux specifix。socket:不斷獲取POLLHUP半閉
我用poll()
來檢查客戶端的狀態。我的客戶在發送請求後進行主動(半)關閉。服務器不斷得到POLLHUP
和POLLERR
,因爲客戶端半截。我也看到POLLRDHUP
,所以我知道這實際上是半關閉的而不是連接關閉/重置。我的問題是,即使我從之前的調查中已經知道有一個半結束的情況,我總是會得到這些事件。
如何禁用此功能,以免再次收到該事件?我試圖做額外的read()
並做一個shutdown(fd, SHUT_RD)
,但它似乎沒有幫助。我不希望poll
在我已經處理的事件中醒來。
我和你有類似的問題,我不想在poll()中獲得POLLHUP/POLLERR,只能得到我所選擇的事件。不知道這將如何完成 – Bionix1441