• 最简单的一个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发送过来的数据

  • 相关阅读:
    Verilog设计Valid-Ready握手协议
    E203 CSR rtl实现分析
    E203 CSR寄存器
    RiscV汇编介绍(1)-编译过程
    RiscV汇编介绍(2)-编译过程
    博客迁移通知
    Visual Studio中的环境变量(以Visual Studio 2013为例)
    Android Studio搜索功能(查找功能)及快捷键图文详解
    《更好的解释(数学篇)》——后序
    《更好的解释(数学篇)》——第十二章
  • 原文地址:https://www.cnblogs.com/zhouheblog/p/11697848.html
Copyright © 2020-2023  润新知