ソケットに問題があります。メッセージを送信するために、コンピューターと電話の間にソケットを作成しています。サーバーまたはクライアントを閉じると、FIN パケットが送信され、1 分間ほど FIN_WAIT2 状態のままになります。ただし、反対側は CLOSE_WAIT 状態でスタックし、明らかにソケットを閉じることができません。ソケットはすぐに閉じられるべきだと思うので、サーバーがソケットを閉じたいときにソケットを閉じるコードをクライアントに実装する必要があるかもしれません。どうやってやるの?
質問する
458 次
2 に答える
2
ソケット チャネルの両端を閉じる必要があります。
サーバーがクライアントへの接続を閉じる場合、最後のFIN
パケットを (クライアントからサーバーに) 送信するために、クライアントはクライアント側で接続を閉じる必要があります。これにより、 TCP ステート マシンで最後の状態遷移がトリガーされます。
于 2013-02-11T13:26:28.030 に答える
0
CLOSE_WAIT は、ピアが FIN を送信し、TCP がローカル アプリケーションがソケットを閉じるのを待っていることを意味します。RFC 793 を参照してください。自動的には行われません。
于 2013-02-12T10:13:07.233 に答える