2017-11-27 16 views
0

자습서 here을 따르고 있습니다. 이것은 문제를 재현 할 수있는 최소한의 예입니다. 생산자 프로세스를 시작한 후 소비자는 항상 "주소가 이미 사용 중입니다."라고 불평합니다. 그러나 생산자와 소비자는 포트가 다른 경우 어떻게 서로 이야기 할 수 있습니까? 나는 프로듀서 파이썬 3 PyZMQ 16.0.3ZeroMQ PUSH/PULL 소켓 사용 중

을 사용하고

import zmq 

context = zmq.Context() 
zmq_socket = context.socket(zmq.PUSH) 
zmq_socket.bind("tcp://127.0.0.1:5557") 
for num in range(2000): 
    work_message = { 'num' : num } 
    zmq_socket.send_json(work_message) 

소비자

import zmq 

context = zmq.Context() 
zmq_socket = context.socket(zmq.PULL) 
zmq_socket.bind("tcp://127.0.0.1:5557") 
for _ in range(2000): 
    result = zmq_socket.recv_json() 
    print(result) 

답변

1

아, 신경 끄시 고, 그것은 소비자의 zmq_socket.connect 대신 bind되어 있어야합니다. 저는 ZeroMQ에 대해 매우 새로운 것 같습니다. 그래서 bind은 보편적 관용구라고 생각했습니다.

희망은 다른 어떤 새로운 사용자에게 도움이되기를 바랍니다.

+1

환영합니다. 이미 요청/해결/논의 된 문제의 StackOverflow 포트폴리오를 검색하는 것이 항상 도움이됩니다. 신경 쓰지 마. +1 잘 기록 된 MCVE 경우. 애틀란타에 최고! – user3666197