2

我通过使用 ASCII 通道和 ASCII 打包器并监听端口并响应 ISO 请求来实现 ISO SERVER。

我怎样才能让我的服务器接受并发请求并发送响应。

4

2 回答 2

1

如果您使用的是 Q2,只需部署 QServer 并设置其默认值为 0 和 100 的 minSessions 和 maxSessions。
这里处理并发请求的示例 jPOS 服务器:http: //didikhari.web.id/java/jpos-client-receive -响应特定端口/

于 2015-10-22T09:25:24.343 回答
0

ISOServer与线程池一起使用,因此您可以开箱即用地接受并发请求。每个套接字连接都由它自己的线程处理。所以,我认为你所要做的就是ISORequestListener为你分配一个来ISOServer实际处理你的传入消息。

这是从 jPOS 指南中获取的测试程序:

  public class Test implements ISORequestListener {
    public Test () {
      super();
    }

    public boolean process (ISOSource source, ISOMsg m) {
       try {
           m.setResponseMTI ();
           m.set (39, "00");
           source.send (m);
       } catch (ISOException e) {
           e.printStackTrace();
       } catch (IOException e) {
           e.printStackTrace();
       }
       return true;
    }

    public static void main (String[] args) throws Exception {
        Logger logger = new Logger ();
        logger.addListener (new SimpleLogListener (System.out));
        ServerChannel channel = new XMLChannel (new XMLPackager());
        ((LogSource)channel).setLogger (logger, "channel");
        ISOServer server = new ISOServer (8000, channel, null);
        server.setLogger (logger, "server");
        server.addISORequestListener (new Test ());

        new Thread (server).start ();

    }
}
于 2012-11-02T19:25:37.207 回答