//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) {
//        // TODO: 实现处理服务器反馈的逻辑
//        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());
//        }
//    }
//}
