소켓 클래스에서 sendUrgentData 메소드를 사용할 수 있습니다. 이 메소드는 상대방의 SO_OOBINLINE 속성이 있는 한 1바이트의 데이터를 출력 스트림으로 보냅니다. 소켓이 켜지지 않으면 자동으로 이 바이트가 삭제되며 SO_OOBINLINE 속성은 기본적으로 꺼집니다.
따라서 다음 코드 조각은 원격 끝의 연결이 끊어졌는지 확인할 수 있습니다.
try{ socket.sendUrgentData(0xFF); }catch(Exception ex){ reconnect(); }
(무료 학습 비디오 튜토리얼 공유: java 비디오 튜토리얼#🎜🎜 #)
ping을 사용하여 다음을 달성합니다.package com.csdn.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class test { static BufferedReader bufferedReader; public static void main(String[] args) throws IOException { try { Process process = Runtime.getRuntime().exec("ping 192.168.1.104");//判断是否连接的IP; bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String connectionStr = ""; while ((connectionStr = bufferedReader.readLine()) != null) { System.out.println(connectionStr); } } catch (IOException e) { e.printStackTrace(); } finally { bufferedReader.close(); } } }
위 내용은 Java는 소켓 서버의 연결이 끊어졌는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!