正文:
/**
* 发送请求
*
* @param host 地址
* @param port 端口
* @param message 报文
* @return 响应
*/
private static String sendSocket(String host, Integer port, String message) {
log.debug("请求地址:{},端口:{},报文:{}", host, port, message);
Socket socket = null;
OutputStream outputStream = null;
InputStream inputStream = null;
BufferedReader bufferedReader = null;
try {
socket = new Socket(host, port);
socket.setSoTimeout(20000);
// 建立连接后获得输出流
outputStream = socket.getOutputStream();
outputStream.write(message.getBytes(StandardCharsets.UTF_8));
outputStream.flush();
inputStream = socket.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
String readLen=bufferedReader.readLine();
log.debug("响应报文:{}", readLen);
return readLen;
} catch (IOException e) {
log.error("socket发送异常:{}", e.toString());
} finally {
try {
if(bufferedReader != null){
bufferedReader.close();
}
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
if (socket != null) {
socket.close();
}
} catch (IOException e) {
log.error("socket关闭异常:{}", e.toString());
}
}
return null;
}