[解決済み] "ソフトウェアによる接続の中断: ソケット書き込みエラー "の正式な理由
質問
このスタックトレースのスニペットがある場合
原因:java.net.SocketException: ソフトウェアが原因で接続が中断されました。 ソケット書き込みエラー
で java.net.SocketOutputStream.socketWrite0(ネイティブ メソッド)
以下の質問に答えてみました。
- この例外はどのようなコードで発生するのですか?(JVM?/Tomcat?/私のコード?)
- この例外を発生させる原因は何ですか?
1について。
SunのJVMのソースには、この正確なメッセージは含まれていませんが、私は、テキスト
ソフトウェアが接続を中断させた: ソケット書き込みエラー
のネイティブ実装に起因するものです。
SocketOutputStream
:
private native void socketWrite0(FileDescriptor fd, byte[] b, int off,
int len) throws IOException;
その2について
私の推測では、クライアントが完全なレスポンスを得る前に接続を終了した場合に発生すると思われます(例:リクエストを送信したが、完全なレスポンスを得る前に、クローズ/終了/オフラインになった)。
質問です。
- 上記の仮定は正しいですか(#1、#2)?
- のネットワークエラーにより、クライアントに書き込むことができなかった」という状況と区別することができますか? サーバー それとも同じエラーメッセージが表示されるのでしょうか?
- そして最も重要なこと。 上記を記載した公式文書(例:Sunからの文書)はありますか?
このスタックトレースがソケットクライアントの誤りであり、サーバーがこれを回避するためにできることは何もなかったという証明が必要なんです。(例外をキャッチするか、Sun JVM以外のSocketOutputStreamを使用することを除いて、しかし、両方ともクライアントが終了した事実を本当に回避することはできません)。
解決方法は?
<ブロッククオートこのエラーは、ローカルネットワークシステムが WinSockが確立された接続を閉じた場合など。 データの再送信に失敗した後(受信者は送信されたデータを確認することはない を使用した場合)。
参照 このMSDN記事 . 以下もご参照ください。 Software caused connection abort」に関する一部情報 .
関連
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み】予期しない型エラー
-
[解決済み】koch snowflake java recursion
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。
-
[解決済み】CreateProcess error=2, The system cannot find file specified.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。
-
[解決済み] java.net.SocketException: Software caused connection abort: recv failed [duplicate] (ソフトウェアが原因で接続が中断されました。