Socket服务端与网络调试助手模拟串口服务器通讯示例

Socket服务端与网络调试助手模拟串口服务器通讯示例,第1张

一、服务端serverSocket代码(全)
package com.nbl6.irrigation.util;

import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;


/**
 * 服务端serverSocket配置
 **/
public class ServerSocketConfig {

    public static String SwitchServerApplication() throws IOException {

        // 创建服务
        ServerSocket serverSocket = new ServerSocket(19002);
        //获取当前服务端IP地址
        InetAddress address = InetAddress.getLocalHost();
        String serverIp = address.getHostAddress();
        System.out.println("TCP服务端启动,当前服务端IP:" + serverIp);

        // 监听客户端连接
        Socket socket = serverSocket.accept();// 阻塞式监听,会一直监听客户端的连接
        SocketAddress ip = socket.getRemoteSocketAddress();
        System.out.println("接收到客户端socket:" + ip);
        // 获取输入流
        InputStream inputStream =socket.getInputStream();
        // 管道流
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        int len = 0;
        byte[] buffer = new byte[1024];
        while ((len = inputStream.read(buffer))!= -1) {
            String s = new String(buffer, 0, len);
            if ( s.equals("abc") == true) {
                System.out.println("接收到正确客户端数据:" + s);
                //自定义指令:打开主水泵
                String str = "01 05 00 08 FF 00 0D F8";
                //获取输出流
                OutputStream outputStream = socket.getOutputStream();
                outputStream.write(str.getBytes());
                outputStream.close();
                break;
            }
            System.out.println("接收到客户端数据:" + s);

        }

        // 关闭资源
        byteArrayOutputStream.close();
        socket.close();
        serverSocket.close();
        System.out.println("TCP服务端已关闭");
        return "TCP服务端已关闭";
    }


}
 2、串口调试助手模拟串口服务器演示客户端访问

3、服务端返回的结果 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/736008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存