2017-10-10 15 views
1

Cでは、ZeroMQのさまざまな呼び出しがエラーコードを返します。次のPythonは、一つのサーバに二つのプロセスで実行されている場合Pythonのzmq(ZeroMQ)バインドが暗黙的に失敗する

はしかし、その後、2番目のプロセスが失敗した - 完全に静か。この状況をどのように検出できますか?

a)は、なぜそれがエラーを上げていませんか?

B)なぜPythonの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)もう一度、python-binding作者のHamletの決定 - だれもそうしないようにします。

保守的なデザイン学校の助言は、.bind()のメソッド呼び出しではかなり明示的にする必要があります。明示的に制御されたマッピングは、.bind() -ingの場合、リソースマッピングに決して衝突することはありません。

関連する問題