private String sendMsg(String serverIP, int serverPort, String reqMsg,String TxnCod) {
if (StringUtils.isEmpty(reqMsg)) {
LOGGER.info("被发送消息不能为空!");
return null;
}
Socket socket = null;
DataInputStream dis = null;
DataOutputStream dos = null;
String retMsg = null;
// 拼装报文头信息
String requestMsg = "报文头+报文内容";
LOGGER.info("请求报文:[{}]", requestMsg);
try {
byte[] senderMsg = requestMsg.getBytes(EncodingConstant.GBK);
socket = new Socket(serverIP, serverPort);
LOGGER.info("BOCOM Connected Socket:{}", socket);
dos = new DataOutputStream(socket.getOutputStream());
dos.write(senderMsg);
dos.flush();
LOGGER.info("send bytes={}", senderMsg.length);
dis = new DataInputStream(socket.getInputStream());
byte buffer[]=new byte[100];
dis.read(buffer);
retMsg=new String(buffer,EncodingConstant.UTF_8);
LOGGER.info("银行返回信息:[{}]",retMsg);
} catch (Exception e) {
LOGGER.error("发送报文异常:", e);
return null;
} finally {
if (dos != null) {
try {
dos.close();
if (socket != null) {
socket.close();
}
} catch (IOException e) {
LOGGER.error("流关闭异常");
}
}
}
return retMsg;
}