複数のマシン IP を持つ ZeroMQ パケットのソース IP アドレスの選択
Python の標準のソケット.create_connection() メソッドとは異なり、ZeroMQ には明示的なメソッドがありません。複数のアドレスを持つマシン上でパケットを送信するときに送信元 IP アドレスを指定するためのオプション。このレベルの制御を達成するには、ZeroMQ の独自の特性を詳しく調べる必要があります。
ZeroMQ の階層化アーキテクチャ
ZeroMQ は、従来のソケットベースの通信とは異なります。これは階層フレームワークで動作します:
アクセス ポイントの実現
アクセス ポイントを動作可能にするには、次のことを行う必要があります。 .bind() または .connect() メソッドを使用してトランスポート アドレスに「バインド」されます。目的の IP アドレスを含む完全修飾トランスポート アドレスを指定することにより、送信パケットの送信元 IP アドレスを制御できます。
例:
import zmq # Bind to a specific IP address and port context = zmq.Context() socket = context.socket(zmq.PUB) socket.bind("tcp://10.0.0.1:5555")
この例では、たとえば、すべての送信メッセージの送信元 IP は次のようになります。 10.0.0.1.
結論
ZeroMQ の階層化アーキテクチャを理解し、完全修飾トランスポート アドレスを使用して .bind() メソッドを利用することで、ソース IP を効果的に制御できます。複数のアドレスを持つマシン上でも、ZeroMQ パケットのアドレスを変更できます。
以上がマルチ IP マシン上で ZeroMQ パケットの送信元 IP アドレスを指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。