Linux で動作するソケット サーバーを作成しましたが、これはおそらく Linux 固有のものではありません。
poll()
クライアントの状態を確認するために使用します。私のクライアントは、リクエストを送信した後、アクティブ (ハーフ) クローズを行います。クライアントのハーフクローズのため、サーバーは常にPOLLHUP
とを取得しています。POLLERR
も表示POLLRDHUP
されるので、実際には半分閉じており、接続の閉じ/リセットではないことがわかります。私の問題は、以前の投票で半減期があったことをすでに知っているにもかかわらず、常にこれらのイベントを取得することです。
これを無効にして、is イベントを受信しないようにするにはどうすればよいですか? 追加して を実行しようとしましread()
たshutdown(fd, SHUT_RD)
が、役に立たないようです。poll
すでに処理したイベントに目覚めたくありません。