SocketChannel.write
は、基になる接続がCLOSE-WAIT
の状態のときに例外をスローしないことに気付きました。それは期待される行動ですか?もしそうなら、どうすれば接続がESTABLISHED
ではないとわかるでしょうか?CLOSE-WAITでSocketChannelに書き込む
0
A
答えて
2
最初に例外をスローするべきではありません。接続はまだ書き込み可能である可能性があります。 CLOSE_WAITは、着信FINが受信されたことを意味します。すべての意味は、もう一方の端が終了したことです。。それはまだ読んでいるかもしれません:出力のために接続をシャットダウンするだけかもしれません。したがって、TCPはデータを書き込む必要があります。ピアが接続全体を閉じた場合、書き込みの受信時にRSTを発行します。これは、後続の書き込みで接続リセットとして発生します。
アプリケーションプロトコルは、ピアによって閉じられた接続への書き込みが不可能であるか、エラーが表示される前に複数の書き込みが行われるようにする必要があります。 TCPは、おそらく最初の書き込みでエラーを出すことはできません。
関連する問題
- 1. 書き込みキャッシュポリシーに書き込み/フェッチを書き込む
- 2. 読み込み中にJava SocketChannelの書き込みがブロックされる
- 3. Accessで特定のフィールドと値に書き込むvbaを書き込む
- 4. SocketChannelを一度に読み書きできますか?
- 5. クリップボードに書き込む
- 6. ファイルに書き込むpython
- 7. mtdブロックデバイスに書き込む
- 8. sdcardに書き込む
- 9. バイナリファイルに書き込むpython
- 10. Nifi:フローファイルに書き込む
- 11. ファイルに書き込む(Python)
- 12. JQuery - オープナーウィンドウに書き込む
- 13. テキストファイルに書き込む
- 14. C#ソケットに書き込む
- 15. JSONArrayに書き込む
- 16. ElementTree XMLに書き込む
- 17. テキスタイルに書き込む
- 18. ファイルに書き込む(Python)
- 19. Qt:ファイルに書き込む
- 20. スパークカラム - コンソールに書き込む
- 21. cURL - ファイルに書き込む
- 22. linux:FIFOに書き込む
- 23. Spark:Avroファイルに書き込む
- 24. /dev/ttyに書き込む
- 25. python - excelに書き込む
- 26. リッチテキストボックスに書き込む。
- 27. ファイルに書き込むキーストローク
- 28. ファイルに書き込む
- 29. xmlファイルに書き込む
- 30. Javascript Textfileに書き込む