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