2

ASCIIチャネルとASCIIパッケージャーを使用し、ポートをリッスンしてISO要求に応答することにより、ISOSERVERを実装しました。

同時リクエストを受け入れてレスポンスを送信するサーバーを作成するにはどうすればよいですか。

お願いします

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 に答える