Il existe une méthode sendUrgentData dans la classe socket, qui enverra un octet de données au flux de sortie tant que l'attribut SO_OOBINLINE du Socket de l'autre partie n'est pas activé, cet octet sera automatiquement supprimé (en Java, une exception est levée) et l'attribut SO_OOBINLINE est désactivé par défaut.
Java détermine si l'extrémité distante est déconnectée :
try{ socket.sendUrgentData(0xFF); }catch(Exception ex){ reconnect(); }
Utiliser ping pour implémenter
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(); } } }
ping présente un bug sérieux, c'est-à-dire que vous ne pouvez déterminer que si l'autre partie est connecté au réseau et ne peut pas déterminer si le client est allumé.
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!