当前位置 主页 > 网站技术 > 代码类 >

    Java通过socket客户端保持连接服务端实现代码

    栏目:代码类 时间:2019-11-28 15:03

    这篇文章主要介绍了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, 0, 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发送过来的数据

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。