|
|
//package com.hw.mes;
|
|
|
//
|
|
|
//import org.springframework.stereotype.Component;
|
|
|
//
|
|
|
//import javax.annotation.PostConstruct;
|
|
|
//import javax.annotation.PreDestroy;
|
|
|
//import java.io.IOException;
|
|
|
//import java.io.InputStream;
|
|
|
//import java.io.OutputStream;
|
|
|
//import java.net.Socket;
|
|
|
//
|
|
|
///**
|
|
|
// * @Description: Scoket客户端长连接
|
|
|
// * @ClassName: SocketClient
|
|
|
// * @Author : xins
|
|
|
// * @Date :2024-04-12 15:03
|
|
|
// * @Version :1.0
|
|
|
// */
|
|
|
//@Component
|
|
|
//public class SocketClient {
|
|
|
//
|
|
|
// private static final String SERVER_HOST = "10.11.41.121";
|
|
|
// private static final int SERVER_PORT = 5000;
|
|
|
// private Socket socket;
|
|
|
// private InputStream inFromServer;
|
|
|
// private OutputStream outToServer;
|
|
|
//
|
|
|
// @PostConstruct
|
|
|
// public void init() {
|
|
|
// try {
|
|
|
// System.out.println("ddddddssss");
|
|
|
// socket = new Socket(SERVER_HOST, SERVER_PORT);
|
|
|
// socket.setSoTimeout(5000); // 设置读取超时(例如:5秒)
|
|
|
// socket.setKeepAlive(true); // 开启TCP KeepAlive,有助于检测连接状态
|
|
|
//
|
|
|
// inFromServer = socket.getInputStream();
|
|
|
// outToServer = socket.getOutputStream();
|
|
|
// } catch (IOException e) {
|
|
|
// System.err.println("Error initializing socket client: " + e.getMessage());
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// public String callApi(String request) {
|
|
|
// try {
|
|
|
// // 发送请求信息
|
|
|
// outToServer.write(request.getBytes());
|
|
|
// outToServer.flush();
|
|
|
//
|
|
|
// // 接收反馈信息
|
|
|
// byte[] buffer = new byte[1024];
|
|
|
// int bytesRead = inFromServer.read(buffer);
|
|
|
// if (bytesRead == -1) {
|
|
|
// throw new IOException("Connection closed while waiting for feedback");
|
|
|
// }
|
|
|
//
|
|
|
// String feedback = new String(buffer, 0, bytesRead);
|
|
|
// System.out.println("Received feedback from server: " + feedback);
|
|
|
//
|
|
|
// // 处理接收到的反馈信息
|
|
|
// handleServerFeedback(feedback);
|
|
|
//
|
|
|
// return feedback; // 返回接收到的反馈信息
|
|
|
// } catch (IOException e) {
|
|
|
// System.err.println("Error calling API: " + e.getMessage());
|
|
|
// // 根据实际情况处理异常,如重试、通知用户等
|
|
|
// return null; // 或返回一个默认值、错误信息等
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// private void handleServerFeedback(String feedback) {
|
|
|
// System.out.println("Handling server feedback: " + feedback);
|
|
|
// }
|
|
|
//
|
|
|
// //重连
|
|
|
// @PreDestroy
|
|
|
// public void cleanup() {
|
|
|
// try {
|
|
|
// if (socket != null && !socket.isClosed()) {
|
|
|
// socket.close();
|
|
|
// }
|
|
|
// } catch (IOException e) {
|
|
|
// System.err.println("Error closing socket: " + e.getMessage());
|
|
|
// }
|
|
|
// }
|
|
|
//}
|