3

在 Majordomo 模式中,worker 中的一段代码如下所示

mdwrk session ("tcp://localhost:5555", sourceStr.c_str(), verbose);

zmsg *reply = 0;
while (1) {
    zmsg *request = session.recv (reply);
    if (request == 0) {
        break;              //  Worker was interrupted
    }

    //reply = request;        //  Echo is complex... :-)
    reply = new zmsg(sourceStr.c_str());
}

对我的工作人员来说,客户的请求是要发送到交易所的订单。我试图弄清楚,在我将订单发送到交易所后,我收到了一条消息,例如插入、待处理、新建等,我可以将 FIX 响应的内容填充到 zmsg *reply 中。

FIX 消息异步返回,所以我不能说

回复 = FIXResponse;

这是如何解决的?

4

1 回答 1

0

我认为 Majordomo 协议是用来处理同步请求的,在这里并不合适。

刚刚遇到您的其他问题之一,并看到您有多个来源可以得到这些回复。您可以将它们全部推入一个稳定的 PULL 插座吗?(然后在适当的情况下重新发布。如果数量很少,您甚至可以摆脱长期订阅者的可靠性。)

于 2012-07-25T21:31:53.027 回答