0MQ req等待Node.js

时间:2015-06-19 16:25:33

标签: javascript node.js zeromq

我是javascript,Node.js和0MQ的新手,所以这里是n00b * 3。

我想设置一个简单的请求和回复,但我希望客户端在发送下一个请求之前等待响应。

zguide会解决此问题,但Node.js版本的行为与C版本不同(这就是我想要的)。

我意识到我在看待问题的方式上正在反对范式转变,但我仍然觉得我应该能够做到这一点。我可以在客户端进行recv电话(或类似的)吗?

1 个答案:

答案 0 :(得分:2)

你是对的,如果你来自C版本,那么ZMQ的node.js版本的行为不会像你期望的那样,但实际上 的行为是根据规则,它只是添加了一些自己的调料混合。

具体来说,如果您尝试打破严格的REQ / REP / REQ / REP循环,C绑定将引发错误。在node.js中,它将缓存无序消息,直到上一个响应返回,然后发出新消息...所以你仍然得到REQ / REP / REQ / REP,按顺序,您可以选择在没有错误的情况下随时发送消息。

这可能是节点ZMQ绑定作者的一个糟糕的设计选择,首先是因为它让你这样的新用户感到困惑,其次如果你使用REQ / REP你可能更喜欢如果你出故障就会出现硬故障,否则你会使用不同的套接字类型。

相关问题