package com.yssh.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; @Service public class SocketService { @Value("${socket.ip}") private String ip; @Value("${socket.port}") private int port; @Value("${cmd.runPy}") private String runPy; private final Logger logger = LoggerFactory.getLogger(this.getClass()); public String sendMsg(String msg) throws Exception { try { Socket socket = new Socket(ip, port); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println(msg); String rs = in.readLine(); socket.close(); exec(runPy); return rs; } catch (Exception ex) { logger.error(ex.getMessage(), ex); throw ex; } } public void exec(String cmd) { try { Process process = Runtime.getRuntime().exec(cmd); process.waitFor(); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } }