Home > Java > JavaBase > body text

Java method to determine whether socket is disconnected

Release: 2019-12-27 16:51:28
Original
2845 people have browsed it

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

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

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template