package com.mes.common; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /** * @Author : yanzhxiin * @Date: 2024/8/20 11:19 * @Description: */ @Component @Slf4j public class tcpIp { //@Scheduled(fixedDelay = 1000) public void serverTCPSocket() { try { // 创建TCP服务器并绑定到指定端口 int port = 8888; ServerSocket serverSocket = new ServerSocket(port); System.out.println("服务器已启动,等待客户端连接..."); while (true) { // 等待客户端连接 Socket clientSocket = serverSocket.accept(); System.out.println("客户端连接成功"); // 创建输入流和输出流 InputStream inputStream = clientSocket.getInputStream(); OutputStream outputStream = clientSocket.getOutputStream(); // 读取客户端发送的数据 byte[] buffer = new byte[1024]; int bytesRead = inputStream.read(buffer); String receivedMessage = new String(buffer, 0, bytesRead); System.out.println("收到消息:" + receivedMessage); // 发送响应数据给客户端 String responseMessage = "Hello, Client!"; outputStream.write(responseMessage.getBytes()); // 关闭连接 clientSocket.close(); } } catch (Exception e) { e.printStackTrace(); } } //@Scheduled(fixedDelay = 1000) public void clientTCPSocket() { try { // 创建TCP客户端并连接到服务器 String serverAddress = "192.168.1.8"; int serverPort = 2001; Socket clientSocket = new Socket(serverAddress, serverPort); // 创建输入流和输出流 InputStream inputStream = clientSocket.getInputStream(); OutputStream outputStream = clientSocket.getOutputStream(); // 发送数据给服务器 String message = "start"; outputStream.write(message.getBytes()); // 读取服务器响应的数据 byte[] buffer = new byte[1024]; int bytesRead = inputStream.read(buffer); String receivedMessage = new String(buffer, 0, bytesRead); System.out.println("收到服务器响应:" + receivedMessage); String message2 = "stop"; outputStream.write(message2.getBytes()); // 关闭连接 clientSocket.close(); } catch (Exception e) { e.printStackTrace(); } } }