⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socketserverhandler.java

📁 example for using server on jpos
💻 JAVA
字号:
package Socket;

import iso8583.MessageHandler;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import org.apache.log4j.Logger;
import org.jpos.iso.ISOMsg;

public class SocketServerHandler extends Thread{
    private Logger logger = Logger.getLogger( getClass() );
    private Socket serverSocket ;
    private BufferedReader inFromClient;
    private DataOutputStream outToClient;
    private MessageHandler messageHandler;
    private String datafromClient;

    public SocketServerHandler(Socket socket, MessageHandler messageHandler) throws IOException {
        super("SocketHandler (" + socket.getInetAddress().getHostAddress() + ")");
        this.serverSocket = socket ;
        this.messageHandler = messageHandler;
        this.inFromClient = new BufferedReader(new InputStreamReader(serverSocket.getInputStream()));
        this.outToClient = new DataOutputStream(serverSocket.getOutputStream());
    }
    @Override
    public void run() {
        try {
            logger.info("Server is ready...");
            while (true) {
                logger.info("There is a client connected...");
                outToClient.writeBytes("InfoServer version 0.1\n");
                datafromClient = inFromClient.readLine();
                logger.info("Data From Client : "+datafromClient);
                ISOMsg isomsg = messageHandler.unpackRequest(datafromClient);
                outToClient.writeBytes(messageHandler.process(isomsg));   
            }
        }
        catch (IOException ioe) {
            logger.error("error: " + ioe);
        }
        catch (Exception e) {
            logger.error("error: " + e);
        }
        finally {
            try {
                if (inFromClient != null) inFromClient.close(); 
                if (outToClient != null) outToClient.close();
                if (serverSocket != null) serverSocket.close();
            } catch (IOException e) { 
                e.printStackTrace();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -