recivemessage.java
来自「银行8583报文分析源码,供考参.程序输出XML再交给采集程序入数据库」· Java 代码 · 共 54 行
JAVA
54 行
package com.sunyard.dataanalyze.message;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ReciveMessage extends Thread{
private ServerSocket serverSocket = null;
private int messagePort;
public ReciveMessage(int port){
messagePort = port;
try{
serverSocket = new ServerSocket(messagePort);
}catch(IOException e){
}
}
public void run(){
while(true){
try {
Socket socket = serverSocket.accept();
byte[] bt = new byte[512];
ByteArrayOutputStream stream = new ByteArrayOutputStream();
InputStream inputStream = socket.getInputStream();
int ch = 0;
BufferedInputStream buf = new BufferedInputStream(inputStream);
while((ch=buf.read(bt))!=-1){
stream.write(bt, 0, ch);
}
String recive = stream.toString();
Message message = new Message();
message.parseMessage(recive.toString());
switch(message.getMessageType()){
case MessageConstants.MESSAGE_SERVER:
System.out.println("服务改变报文");
break;
case MessageConstants.MESSAGE_STATE:
System.out.println("状态改变报文");
break;
case MessageConstants.MESSAGE_ERROR:
System.out.println("报文格式错误!");
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?