Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 0MQ req等待Node.js中的代表_Javascript_Node.js_Zeromq - Fatal编程技术网

Javascript 0MQ req等待Node.js中的代表

Javascript 0MQ req等待Node.js中的代表,javascript,node.js,zeromq,Javascript,Node.js,Zeromq,我不熟悉javascript、Node.js和0MQ,所以这里是n00b*3 我想设置一个简单的请求和回复,但我希望客户端在发送下一个请求之前等待响应 这个问题已经讨论过了,但是这个版本的行为与这个版本不同(这正是我想要的) 我意识到我在如何看待这个问题上遇到了范式的转变,但我仍然觉得我应该能够做到这一点。我可以在客户机中拨打recv电话(或类似的电话)吗 你是对的,如果你是C版本的,那么node.js版本的ZMQ的行为与你期望的不一样,但它实际上是按照规则进行的,它只是在混合中加入了一点自己的

我不熟悉javascript、Node.js和0MQ,所以这里是n00b*3

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

这个问题已经讨论过了,但是这个版本的行为与这个版本不同(这正是我想要的)


我意识到我在如何看待这个问题上遇到了范式的转变,但我仍然觉得我应该能够做到这一点。我可以在客户机中拨打
recv
电话(或类似的电话)吗

你是对的,如果你是C版本的,那么node.js版本的ZMQ的行为与你期望的不一样,但它实际上是按照规则进行的,它只是在混合中加入了一点自己的调味汁

特别是,如果您试图打破严格的REQ/REP/REQ/REP循环,C绑定将抛出一个错误。在node.js中,它将缓存无序消息,直到返回上一个响应,然后发送新消息。。。因此,您仍然可以按顺序获得REQ/REP/REQ/REP,并且您可以选择随时发送消息,而不会出现错误


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

您是否可以详细说明客户端在下一个请求之前必须等待响应的含义?如果您谈论的是HTTP请求,那么您应该记住HTTP请求,无论平台/语言如何,都是无状态的。如果您只是想确保同一个客户端在收到第一个请求的答复之前不发送两个请求,那么只需使用IP/origin/cookie(即:任何区分客户端的方法)过滤请求。我使用它进行进程间通信。具体地说,我有一个进程收集数据,它希望在通过网络发送聚合数据之前从另一个进程提取数据。我不想将数据从网络中发送出去,直到我收到另一个进程的回复,并且我拥有了所有数据。我在node ZMQ绑定页面上的对话中发现了这一点,它可能提供了一些额外的上下文。