Yuv*_*dam 6 python sockets tcp zeromq
我正在移植一些使用原始TCP套接字到ZeroMQ的Python代码,以获得更好的稳定性和更清晰的界面.
马上,我可以看到一个原始字节数据包没有像我期望的那样发送.
在原始套接字中:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
sock.send('\x00\x01\x02 and some more raw bytes')
Run Code Online (Sandbox Code Playgroud)
这是当前的工作代码.这是使用ZeroMQ的相同代码:
import zmq
context = zmq.Context()
sock = context.socket(zmq.REQ) # this connection utilizes REQ/REP
sock.connect('tcp://{0}:{1}'.format(HOST, PORT))
sock.send('\x00\x01\x02 and some more raw bytes')
Run Code Online (Sandbox Code Playgroud)
但是,当我检查网上的数据包时,它们绝对不是我所期待的.我在这里错过了什么?
此外,当127.0.0.1使用虚拟服务器在loopback接口()上测试此代码时,它似乎工作得很好.
如果重要,使用Python 2.7(unicode或诸如此类).
哦。哇。我忽略了测试中的一个主要缺陷,我正在测试的远程服务器期望原始 TCP 连接,而不是 ZMQ 连接。
当然,ZMQ 无法传输消息,甚至没有成功协商连接。当我在本地测试时,我正在使用虚拟 ZMQ 服务器进行测试,所以它工作得很好。
如果我发布了服务器代码,就会立即意识到这就是问题所在。
无论如何,对于误报,我们深表歉意。
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |