2017-10-10 8 views
1

C에서 ZeroMQ의 다양한 호출은 오류 코드를 반환합니다.Python zmq (ZeroMQ) 바인드가 자동으로 실패 함

그러나 다음 Python이 한 서버의 두 프로세스에서 실행되면 두 번째 프로세스가 완전히 자동으로 실패합니다. 이 상황을 어떻게 감지 할 수 있습니까?

a) 오류가 발생하지 않는 이유는 무엇입니까?

b) 어설 션되지 않은 상태에서 파이썬 ZMQ 호출이 상태 코드를 반환하지 않는 이유는 무엇입니까?

import zmq 
context = zmq.Context() 
socket = context.socket(zmq.PUB) 
socket.bind("tcp://*:5556") 
socket.send("Hello world") 

답변

0

a) 각 ZeroMQ python-binding 저자는 인상 여부를 결정했다.

사용자는 항상 검사 할 옵션이 있습니다. zmq_errno(), 그녀/그 사람이 아닙니까?

b) 다시 말하지만, 아무도 있지만 파이썬 바인딩 작가의 햄릿 결정은 그렇게하거나하지 않습니다.

보수적 인 디자인 스쿨 어드바이저는 리소스 매핑에 대해 명시 적으로 명시해야합니다 (.bind()). 명시 적으로 제어되는 매핑은 기한 설계 연습 아래에서 .bind() -ing 일 때 자원 매핑에 충돌하지 않아야합니까?