2

sendUrgentData() void を使用して、接続がまだ有効かどうかを判断しようとしています。この void を介して送信されたデータはサーバー側では無視されますが、接続が失われると、sendUrgentData はクライアント側で SocketException をスローします。

これが行くべき方法です。ただし、sendUrgentData を数回呼び出した後、接続がまだ完全に有効な場合でも、接続が切断されて SocketException がスローされるようです。

java.net.SocketException: Connection reset by peer: send

スニファでネットワーク トラフィックをチェックしたところ、リセット パケットが送信されていないことがわかりました。これをどのように解決すればよいですか?現在ストリーム内にあるデータの破損を避けるために、このデータを通常の方法で送信しないようにしています。

4

2 に答える 2

0

Socket#sendUrgentData()SocketException基盤となる実装が緊急データの送信をサポートしていない場合は、をスローします。メモリから、Java 1.6でのソケット例外のメッセージの説明は、「緊急データはサポートされていません」のようなものです。

  • どのプラットフォームで実行していますか(Windows、Linuxなど)?

  • どのバージョンのJavaを使用していますか?

于 2011-04-27T22:01:15.010 に答える