Java通過(guò)socket客戶端保持連接服務(wù)端實(shí)現(xiàn)代碼
這篇文章主要介紹了Java通過(guò)socket客戶端保持連接服務(wù)端實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
業(yè)務(wù)場(chǎng)景:現(xiàn)在有一個(gè)socket服務(wù)端給我們發(fā)送數(shù)據(jù),我們需要建立一個(gè)socket Client來(lái)連接這個(gè)socket Server,然后接受server發(fā)送過(guò)來(lái)的數(shù)據(jù)。但是這個(gè)server可能會(huì)中斷,所以在Client要有一個(gè)while死循環(huán)去時(shí)刻保持與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{
//定義一個(gè)Socket對(duì)象
Socket socket = null;
private static String host = "192.168.0.109";
private static int port = 777;
public Client() {
try {
//需要服務(wù)器的IP地址和端口號(hào),才能獲得正確的Socket對(duì)象
socket = new Socket(host, port);
} catch (Exception e) {
}
}
@Override
public void run() {
//客戶端一連接就可以寫(xiě)數(shù)據(jù)個(gè)服務(wù)器了
super.run();
try {
// 讀Sock里面的數(shù)據(jù)
InputStream s = socket.getInputStream();
byte[] buf = new byte[1024];
int len = 0;
while ((len = s.read(buf)) != -1) {
System.out.println(new String(buf, 0, len));
}
} catch (Exception e) {
System.out.println("socket連接斷開(kāi)!");
}
}
//函數(shù)入口
public static void main(String[] args) {
//需要服務(wù)器的正確的IP地址和端口號(hào)
while (true){
Client clientTest = new Client();
clientTest.start();
}
}
}
這里如果找不到socket Server,會(huì)報(bào)錯(cuò),一旦找到socket Server,就會(huì)自動(dòng)連接,并且接受server發(fā)送過(guò)來(lái)的數(shù)據(jù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot根據(jù)實(shí)體類生成表的實(shí)現(xiàn)方法
本文介紹了如何通過(guò)SpringBoot工程引入SpringDataJPA,并通過(guò)實(shí)體類自動(dòng)生成數(shù)據(jù)庫(kù)表的過(guò)程,包括常見(jiàn)問(wèn)題解決方法,感興趣的可以了解一下2024-09-09
Java數(shù)據(jù)結(jié)構(gòu)之哈夫曼樹(shù)概述及實(shí)現(xiàn)
文中詳細(xì)講了關(guān)于Java哈夫曼樹(shù)的概述以及用Java實(shí)現(xiàn)的方法,對(duì)各位正在學(xué)習(xí)java數(shù)據(jù)結(jié)構(gòu)的小伙伴們有很大的幫助喲,需要的朋友可以參考下2021-05-05
java文件操作工具類實(shí)現(xiàn)復(fù)制文件和文件合并
這篇文章主要介紹了java文件操作工具類,類實(shí)現(xiàn)了復(fù)制文件和文件合并的功能,需要的朋友可以參考下2014-03-03
WIN7系統(tǒng)JavaEE(tomcat7 Eclipse)環(huán)境配置教程(二)
這篇文章主要介紹了WIN7系統(tǒng)JavaEE(java+tomcat7+Eclipse)環(huán)境配置教程,本文重點(diǎn)在于tomcat配置、Eclipse配置,感興趣的小伙伴們可以參考一下2016-06-06
Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例
這篇文章主要介紹了Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
springboot結(jié)合全局異常處理實(shí)現(xiàn)登錄注冊(cè)驗(yàn)證
這篇文章主要介紹了springboot結(jié)合全局異常處理實(shí)現(xiàn)登錄注冊(cè)驗(yàn)證,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05

