Cara menyelesaikan Java DisconnectedException
Apabila menggunakan Java untuk pengaturcaraan rangkaian, anda kadangkala menghadapi pengecualian terputus Salah satu pengecualian biasa ialah DisconnectedException. Pengecualian ini biasanya berlaku apabila sambungan rangkaian tidak stabil atau sumber rangkaian dikeluarkan. Untuk mengelakkan pengecualian ini daripada berlaku, kita boleh mengambil beberapa langkah untuk menyelesaikannya.
Berikut adalah beberapa kaedah untuk menyelesaikan pengecualian 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."); }
Ringkasnya, kaedah untuk menyelesaikan pengecualian terputus Java (DisconnectedException) boleh dicapai dengan menggunakan mekanisme degupan jantung, mekanisme penyambungan semula atau menggunakan rangka kerja pemotongan dan penyambungan semula. Mengikut senario dan keperluan aplikasi tertentu, kita boleh memilih kaedah yang sesuai untuk pemprosesan. Saya harap kaedah ini dapat membantu anda menyelesaikan masalah terputus sambungan yang tidak normal.
Atas ialah kandungan terperinci Kaedah untuk menyelesaikan pengecualian pemutusan sambungan Java (DisconnectedException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!