gpt4 book ai didi

python - 如何使用 Zeromq 的 inproc 和 ipc 传输?

转载 作者:IT老高 更新时间:2023-10-28 21:11:12 26 4
gpt4 key购买 nike

我是 ZERMQ 的新手。 ZeroMQ 有 TCP、INPROC 和 IPC 传输。我正在寻找在 Winx64 和 python 2.7 中使用 python 和 inproc 的示例,它们也可用于 linux。

另外,我一直在寻找 UDP 传输方法,但找不到示例。

我发现的唯一例子是

import zmq
import zhelpers

context = zmq.Context()

sink = context.socket(zmq.ROUTER)
sink.bind("inproc://example")

# First allow 0MQ to set the identity
anonymous = context.socket(zmq.XREQ)
anonymous.connect("inproc://example")
anonymous.send("XREP uses a generated UUID")
zhelpers.dump(sink)

# Then set the identity ourself
identified = context.socket(zmq.XREQ)
identified.setsockopt(zmq.IDENTITY, "Hello")
identified.connect("inproc://example")
identified.send("XREP socket uses REQ's socket identity")
zhelpers.dump(sink)

我正在考虑的用例是:类似于 UDP 的信息分发。使用 TCP 测试 Push/Pull 更快,或者 inproc 更快。

这里是测试示例>.......

服务器:

import zmq
import time

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("inproc://example2")

while True:
# Wait for next request from client
message = socket.recv()
print "Received request: ", message

# Do some 'work'
time.sleep (1) # Do some 'work'

# Send reply back to client
socket.send("World")

客户:

import zmq

context = zmq.Context()

# Socket to talk to server
print "Connecting to hello world server..."
socket = context.socket(zmq.REQ)
socket.connect ("inproc://example2")

# Do 10 requests, waiting each time for a response
for request in range (1,10):
print "Sending request ", request,"..."
socket.send ("Hello")

# Get the reply.
message = socket.recv()
print "Received reply ", request, "[", message, "]"

错误信息:

 socket.connect ("inproc://example2")
File "socket.pyx", line 547, in zmq.core.socket.Socket.connect (zmq\core\socket.c:5347)
zmq.core.error.ZMQError: Connection refused

最佳答案

据我所知,0MQ 不支持 UDP。此外,IPC 仅在具有符合 POSIX 的命名管道实现的操作系统上受支持;因此,在 Windows 上,您实际上只能使用“inproc”、TCP 或 PGM。然而,除此之外,0MQ 的主要特性之一是您的协议(protocol)只是地址的一部分。您可以举任何例子,更改套接字地址,一切都应该可以正常工作(当然,受上述限制)。此外,ZGuide有很多例子(Python 中有很多例子)。

关于python - 如何使用 Zeromq 的 inproc 和 ipc 传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8492377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com