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();
|
}
|
|
}
|
|
}
|