zeromqメッセージキューの作成、IPアドレスの設定と変更に関しては、ローカルリンクだけでなくリモートアクセスも可能です。Pythonコード。

zeromqの作成、ローカルのバインド、および他のクライアントメソッドのバインドについて。

インターネット上のzmq通信モードについては、3種類を含め、多くの紹介がありますが、詳しくは説明しません。

しかし、彼らが提供したデモは、サーバーサーバーとしてもクライアントクライアントとしてもローカルで作成されました。どちらもポートを5555に設定します。このようにして、ローカルはローカルに接続され、ローカルはローカルで制御されます。

クライアントとしてのローカル:

クライアントとして、情報を送信します。

import zmq

context = zmq.Context()
# Socket to talk to server
print("Connecting to hello world server…")
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")
socket.send_string(send_msg)

ローカルはサーバーとしても機能します。

サーバー側として、情報を受け入れます。

import zmq

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
message = socket.recv_string()

注:REQ-REPモードはブロックしています。つまり、クライアントは最初にサーバーにメッセージを送信する必要があり、その後サーバーはクライアントに応答を返すことができます。シーケンスエラーがあると、エラーが発生します。

ローカルマシンがサーバーの場合、他のコンピューターやクライアントから送信されたメッセージキューを受信します。この時点で、tcpプロトコルのアドレスとしてローカルIPアドレスを使用するだけでよく、ローカルサーバーはこのアドレスとポートをバインドし、リモートクライアントもこのIPアドレスとウィンドウをリンクします。以下は、対応するPythonコードです。

PS:WindowsがIPアドレスを照会するためのコマンドラインは次のとおりです:ipconfig

MacまたはLinuxがIPアドレスを照会するためのコマンドラインは次のとおりです。ifconfig

サーバーとして機能するコンピューターのIPアドレスは192.168.3.41であることがわかりました。したがって、tcp設定を次のように変更すると、情報をリモートで送信し、ローカルで情報を受信するという目的を達成できます。ポートポートは、5000または5555のいずれかに任意に設定できます。

クライアントとして他のリモートコンピューター:

クライアントはサーバーのIPアドレスに接続されているため、connectが使用されます。

import zmq

context = zmq.Context()
# Socket to talk to server
print("Connecting to hello world server…")
socket = context.socket(zmq.REQ)
socket.connect("tcp://192.168.3.41:5000")

socket.send_string(send_msg)

サーバーとしてのローカル:

サーバーはこのIPアドレスとポート5000から情報を受信するため、サーバーにバインドされます。

import zmq

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://192.168.3.41:5000")
message = socket.recv_string()

 

おすすめ

転載: blog.csdn.net/qq_32998593/article/details/114264363