Java 切断例外 (DisconnectedException) を解決する方法
Java をネットワーク プログラミングに使用すると、切断例外が発生することがあります。一般的な例外の 1 つは DisconnectedException です。 。この例外は通常、ネットワーク接続が不安定であるか、ネットワーク リソースが解放されている場合に発生します。この例外が発生しないようにするには、いくつかの解決策を講じることができます。
DisconnectedException 例外を解決するためのいくつかの方法を次に示します。
// 客户端发送心跳包 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { try { outputStream.write("ping".getBytes()); } catch (IOException e) { e.printStackTrace(); } } }, 0, 5000); // 服务器端接收心跳包 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { try { byte[] buffer = new byte[1024]; int length = inputStream.read(buffer); if (length == -1) { throw new DisconnectedException("Connection disconnected."); } String message = new String(buffer, 0, length); if (message.equals("ping")) { outputStream.write("pong".getBytes()); } } catch (IOException e) { e.printStackTrace(); } } }, 0, 5000);
int maxRetryTimes = 3; int retryTimes = 0; boolean isConnected = false; while (!isConnected && retryTimes < maxRetryTimes) { try { connect(); isConnected = true; } catch (DisconnectedException e) { retryTimes++; System.out.println("Connection failed, retrying..."); try { Thread.sleep(1000); // 等待一段时间后再次尝试连接 } catch (InterruptedException ex) { ex.printStackTrace(); } } } if (!isConnected) { throw new DisconnectedException("Failed to establish connection."); }
まとめると、Java 切断例外 (DisconnectedException) を解決する方法は、ハートビート メカニズム、再接続メカニズム、または切断および再接続フレームワークを使用することで実現できます。特定のアプリケーションのシナリオとニーズに応じて、適切な処理方法を選択できます。これらの方法が異常切断問題の解決に役立つことを願っています。
以上がJava切断例外(DisconnectedException)を解決するメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。