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

toApp 方法是一个回调函数,每当向对方发送消息时都会调用该回调函数。看你的代码,我觉得你的逻辑本身就是递归的。SendToTarget 调用 toApp 和 toApp 调用 sendToTarget。发送消息的一种简单方法是使用具体的会话对象,例如 mySession。然后你可以做 mySession.send(Message)。

于 2013-07-03T19:11:50.580 回答
3

如果您尝试发送消息以响应收到的消息,则需要在 fromApp 回调方法中执行此操作。

toApp 回调用于传出消息。如果您想对传出消息进行一些额外的验证或风险管理,这可能很有用。如果您不想发送消息,则抛出 DoNotSend 异常。

于 2013-07-04T12:50:25.733 回答