0
接続後にZeroMQ(実際にはpyzmq
)ポートに接続されているポートを確認する方法はありますか?例えば
...ZeroMQ:PAIRソケットが使用しているポートを見つける方法は?
import zmq
context = zmq.Context()
socket = context.socket(zmq.PAIR)
port = socket.bind_to_random_port("tcp://*")
# some other code that might change that binding
actual_port = socket.which_port???() # (this is what I want)
は、マニュアルまたは他のフォーラムでは見つかりませんでした。デバッグ時間を節約できましたか?
`` `
'sock.get(zmq.FD)'で基礎となるFDを取得し、標準の 'getsockname'と' getpeername'関数を使用できますか? – o11c
@ o11cこれは良い方向に聞こえるが、これをどうやって行うのかまだ分からない。 'pyzmq'は' getsockname'が見つからないと思われます。これはポートに伝えますか、それともそれを見つけることができませんか? –
"標準"とは、それが 'socket'モジュールにあることを意味しました。 'socket.fromfd'を呼び出すと(内部的に' dup'されているので、あなたのもとで閉じられることを心配する必要はありません) 'socket'オブジェクトが最初に呼び出されます。これには、ファミリを渡す必要があります(' AF_INET 'または' AF_INET6' - zmqがデフォルトになっているかどうかわかりません)、( 'tcp://'の 'SOCK_STREAM')をタイプしてください。 – o11c