Home >Java >JavaBase >Java method to determine whether socket is disconnected

Java method to determine whether socket is disconnected

尚
Original
2019-12-27 16:51:282894browse

Java method to determine whether socket is disconnected

There is a method sendUrgentData in the socket class, which will send one byte of data to the output stream. As long as the SO_OOBINLINE attribute of the other party's Socket is not turned on, this byte will be automatically discarded (in In Java, an exception is thrown), and the SO_OOBINLINE attribute is turned off by default.

java determines whether the remote end is disconnected:

try{ 
      socket.sendUrgentData(0xFF); 
}catch(Exception ex){ 
      reconnect(); 
}

Using ping to implement

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(); 
  } 
  } 
  }

There is a serious bug in the ping method, that is, you can only determine whether the other party is connected. network, and cannot determine whether the client is turned on.

For more java knowledge, please pay attention to the java basic tutorial column.

The above is the detailed content of Java method to determine whether socket is disconnected. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn