0

私は Quickfix/J アプリケーションの実装で次のようなことをしています:

public void toApp(Message message, SessionID sessionID) throws DoNotSend {
    try {
        Session.sendToTarget(message, sessionID);
    } catch (SessionNotFound e) {
        e.printStackTrace();
    }
}

しかし、Session.Java 自体のコードは application.toApp(message, sessionID); を呼び出します。メソッドで

 private boolean sendRaw(Message message, int num) {

メッセージを送信する正しい方法は何ですか?

4

2 に答える 2

3

受信したメッセージに応答してメッセージを送信しようとしている場合は、代わりに fromApp コールバック メソッドで送信する必要があります。

toApp コールバックは、送信メッセージ用です。これは、送信メッセージに対して追加の検証やリスク管理を行う場合に役立ちます。メッセージを送信したくない場合は、DoNotSend 例外をスローします。

于 2013-07-04T12:50:25.733 に答える
3

toApp メソッドは、相手にメッセージが送信されるたびに呼び出されるコールバック関数です。あなたのコードを見ると、あなたのロジック自体が再帰的だと思います。SendToTarget は toApp を呼び出し、toApp は sendToTarget を呼び出します。メッセージを送信する簡単な方法は、具体的なセッション オブジェクト (mySession など) を使用することです。次に、mySession.send(Message) を実行できます。

于 2013-07-03T19:11:50.580 に答える