【发布时间】:2022-06-15 21:43:53
【问题描述】:
我希望有两个 Python 脚本(它可以更实际地使用)在同一个端口上发布到单个客户端。这是我的脚本的代码:
server1.py:
import time
import zmq
ctx = zmq.Context()
s1 = ctx.socket(zmq.PUB)
s1.connect("tcp://127.0.0.1:5566")
for i in range(10):
s1.send_pyobj({'job':'publisher 1','yo':10})
time.sleep(5)
server2.py:
import time
import zmq
ctx = zmq.Context()
s2 = ctx.socket(zmq.PUB)
s2.connect("tcp://127.0.0.1:5566")
for i in range(10):
s2.send_pyobj({'job':'publisher 2','yo':10})
time.sleep(5)
client.py:
import zmq
ctx = zmq.Context()
c = ctx.socket(zmq.SUB)
c.bind("tcp://127.0.0.1:5566")
c.setsockopt(zmq.SUBSCRIBE, '')
while True:
msg = c.recv_pyobj()
print("MSG: ", msg)
这种幼稚的实现是可行的,但是对于 zmq 来说是新手,我想知道它是否确实是正确的实现,或者是否有更好的方法来继续。
【问题讨论】: