ソケットは2時間ごとにピアによってリセットされます。

ソケットは2時間ごとにピアによってリセットされます。

クライアントはTCPソケットを介してSSL(openssl)を使用してサーバーに接続します。

進行中の通信がない場合、2時間(追加数分)後、クライアントは「ソケットエラー。ピアによる接続のリセット」というメッセージを表示します。

この警告を受けた後、クライアントは新しい接続を開くように数日間テストしましたが、パターンは2時間ごとに繰り返しました。クライアントとサーバーでクローン操作を見ましたが、これを実行できる操作は表示されません。

ソケットサーバー(reactphp)は、ソケットが閉じられているかどうかを知りません。

2時間ごとに接続がリセットされる原因は何ですか?これを実行できるカーネル構成設定はありますか?

答え1

TCP接続を維持します。 2時間後に使用しないと接続が切断されます。簡単に変更できます。バラよりhttp://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html

簡単に言うと、公開されたカーネル調整可能な「tcp_keepalive_time」を使用すると、/proc/sys/net/ipv4/tcp_keepalive_time必要に応じてデフォルトの7200から変更できます。

関連情報