더 나은 안정성과 깨끗한 인터페이스를 위해 ZeroMQ에 원시 TCP 소켓을 사용하는 일부 Python 코드를 이식합니다.Python에서 ZeroMQ를 통해 raw 바이트 보내기
박쥐 오른쪽에서 나는 예상대로 원시 바이트의 단일 패킷이 보내지지 않음을 알 수 있습니다. 원시 소켓에서
:
현재 작업 코드입니다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')
. 이 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')
하지만 네트워크를 통해가는 패킷을 검사 할 때, 그들은 내가 기대하고있는 무슨을 확실히 아니에요. 내가 여기서 무엇을 놓치고 있니?
또한 더미 서버로 루프백 인터페이스 (127.0.0.1
)에서이 코드를 테스트 할 때 잘 작동하는 것처럼 보입니다.
파이썬 2.7이 중요한 경우 (유니 코드 또는 기타).
출력이 없으며 원시 네트워크 트래픽을 검사하고 있습니다. 찾고있는 것이 맞습니까? –
zeromq는 소켓에서 자체 데이터 마샬링을 사용합니다. 패킷을 냄새 맡는다면 정확하게 같을 필요는 없습니다 –
@BartekBanachewicz - 정말 고마워요. 지금 내 대답을 주목하라. –