I'm porting some Python code that uses raw TCP sockets to ZeroMQ for better stability and a cleaner interface.
Right off the bat I can see that a single packet of raw bytes is not sent as I'm expecting.
In raw sockets:
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')
Which is the current working code. This is the same code using 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')
But when I inspect the packets going over the net, they're definitely not what I'm expecting. What am I missing here?
Also, when testing this code on the loopback interface (127.0.0.1
) with a dummy server it seems to work just fine.
Using Python 2.7 if it matters (unicode or whatnot).