我使用Redis PubSub消息传递系统编写了以下Python代码。
发布方:
import redis
def func1(m):
queue = redis.StrictRedis(host='localhost', port=6379, db=0)
channel = queue.pubsub()
queue.publish("message", m)
if __name__=='__main__':
while True:
m = raw_input('Enter message: ')
func1(m)
订阅者端:
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
p = r.pubsub()
p.subscribe('message')
while True:
message = p.get_message()
if message:
print message['data']
我希望能够在同一网络中从一台计算机向另一台计算机发送消息。我尝试在两台不同的计算机上运行发布者和订阅者代码,并将 host='localhost' 更改为 host='目标机器的IP地址',但当我运行程序时,订阅者程序只是闲置不动,没有接收到任何消息。
如何在网络上使用 Redis 而不仅仅是在本地机器上使用?我需要在发布方和订阅方都指定目标机器的 IP 吗?我找不到任何具体的在线例子,所有的例子都假定您在本地主机上运行。