Java通過socket客戶端保持連線服務端實現程式碼
阿新 • • 發佈:2020-01-07
這篇文章主要介紹了Java通過socket客戶端保持連線服務端實現程式碼,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
業務場景:現在有一個socket服務端給我們傳送資料,我們需要建立一個socket Client來連線這個socket Server,然後接受server傳送過來的資料。但是這個server可能會中斷,所以在Client要有一個while死迴圈去時刻保持與Server的連線。
package com.thinkgem.wlw.modules.test.socketdemo; import java.io.*; import java.net.Socket; /** * @Author zhouhe * @Date 2019/10/14 17:41 */ public class Client extends Thread{ //定義一個Socket物件 Socket socket = null; private static String host = "192.168.0.109"; private static int port = 777; public Client() { try { //需要伺服器的IP地址和埠號,才能獲得正確的Socket物件 socket = new Socket(host,port); } catch (Exception e) { } } @Override public void run() { //客戶端一連線就可以寫資料個伺服器了 super.run(); try { // 讀Sock裡面的資料 InputStream s = socket.getInputStream(); byte[] buf = new byte[1024]; int len = 0; while ((len = s.read(buf)) != -1) { System.out.println(new String(buf,len)); } } catch (Exception e) { System.out.println("socket連線斷開!"); } } //函式入口 public static void main(String[] args) { //需要伺服器的正確的IP地址和埠號 while (true){ Client clientTest = new Client(); clientTest.start(); } } }
這裡如果找不到socket Server,會報錯,一旦找到socket Server,就會自動連線,並且接受server傳送過來的資料
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。