我正在尝试使用ZMQ在LAN网络上的OS X和Windows框之间进行通信。我已经给两台机器一个固定的IP,我可以看到通过wireshark传输的流量。出于某种原因 - 我希望我们能够整理出来 - 我无法在接收端拿起数据包。此代码适用于同一台计算机上两个进程之间的通信。
在客户端(OS X):
import zmq
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://204.102.224.2:5000")
for i in range(5):
msg = "msg_{}".format(i)
socket.send(msg)
print "Sending", msg
msg_in = socket.recv()
在'服务器'端(WIN 7):
import zmq
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://127.0.0.1:5000")
while True:
msg = socket.recv()
print "Got", msg
socket.send(msg)
并非我在连接时也尝试使用分配给服务器计算机的IP地址,即"tcp://204.102.224.2:5000"
。我哪里错了?我需要在Windows端处理一些隐藏的配置吗?出于好奇,我尝试了另一种方式,发送端的窗口和接收端的OS X,它工作。有什么想法吗?