久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java判斷socket服務(wù)端是否斷開連接

      java判斷socket服務(wù)端是否斷開連接

      可以使用socket類中的sendUrgentData方法,該方法會(huì)往輸出流發(fā)送一個(gè)字節(jié)的數(shù)據(jù),只要對(duì)方Socket的SO_OOBINLINE屬性沒有打開,就會(huì)自動(dòng)舍棄這個(gè)字節(jié),而SO_OOBINLINE屬性默認(rèn)情況下就是關(guān)閉的。

      于是,下面一段代碼就可以判斷遠(yuǎn)端是否斷開了連接:

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

      (免費(fèi)學(xué)習(xí)視頻教程分享:java視頻教程)

      用ping實(shí)現(xiàn):

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

      注意:此方法有一個(gè)嚴(yán)重的不足之處,就是你只能判斷對(duì)方是否連接網(wǎng)絡(luò),而不能判斷客戶端是否開啟。

      其實(shí)在通過socket.getoutstream和socket.getinputstream流對(duì)客戶端發(fā)送、接受信息時(shí)如果socket沒連接上是會(huì)拋出異常的,這也就是為什么Java會(huì)要求網(wǎng)絡(luò)編程都要寫在try里面,所以只要在catch里面寫入客戶端退出的處理就行了。

      相關(guān)文章教程推薦:java入門教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)