2

私の質問は、私は TCP 接続を作成しました. 約 1 時間データを転送せずにそのままでいる場合, サーバーからすでに切断されていますが、切断されていることを通知しません. キープアライブ パケットをサーバーに送信する必要があります. ? または、キープアライブ パケットをサーバーからクライアントに送信する必要がありますか? それとも両方に送るべきですか?

4

2 に答える 2

2

はい、そうすべきです。数日前、TCP ソケット/サーバー アプリケーションを作成しましたが、同じ問題が発生しました。キープアライブパケットの送信を開始することで修正しました。

キープアライブ パケットを送信すると、問題は解消されます。

OS がキープアライブ パケットを送信すると言う人もいますが、私はこれについてあまり詳しくありませんが、キープ アライブ パケットを送信すると明示的に機能しました。

于 2013-06-22T05:56:55.257 に答える
0

切断されたことを通知しない

できません。次に I/O を試行するときに EOS または「接続リセット」を誘発する以外に、これを行う手段はありません。

キープアライブ パケットを送信する必要がありますか...

この問題がある場合は、はい。一般的に、おそらくそうではありません。

于 2013-06-22T10:35:08.703 に答える