为什么zeromq在本地主机上不起作用? [英] Why doesn't zeromq work on localhost?
本文介绍了为什么zeromq在本地主机上不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此代码非常有用:
import zmq, json, time
def main():
context = zmq.Context()
subscriber = context.socket(zmq.SUB)
subscriber.bind("ipc://test")
subscriber.setsockopt(zmq.SUBSCRIBE, '')
while True:
print subscriber.recv()
def main():
context = zmq.Context()
publisher = context.socket(zmq.PUB)
publisher.connect("ipc://test")
while True:
publisher.send( "hello world" )
time.sleep( 1 )
但是此代码不起作用 *有效:
import zmq, json, time
def recv():
context = zmq.Context()
subscriber = context.socket(zmq.SUB)
subscriber.bind("tcp://localhost:5555")
subscriber.setsockopt(zmq.SUBSCRIBE, '')
while True:
print subscriber.recv()
def send():
context = zmq.Context()
publisher = context.socket(zmq.PUB)
publisher.connect("tcp://localhost:5555")
while True:
publisher.send( "hello world" )
time.sleep( 1 )
它会引发此错误:
ZMQError:没有这样的设备
ZMQError: No such device
为什么zeromq无法使用localhost接口?
Why, can't zeromq use localhost interfaces?
仅在同一台计算机上的IPC上工作吗?
Does it only work on IPC on the same machine?
推荐答案
问题出在行:
subscriber.bind("tcp://localhost:5555")
尝试更改为:
subscriber.bind("tcp://127.0.0.1:5555")
这篇关于为什么zeromq在本地主机上不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文