\

PythonでZeroMQを操作するための手段は、PyZMQです。ZeroMQは、C++で開発されていますが、PyZMQを使用することでPythonから操作可能になります。

PyZMQとは?

PyZMQは、ZeroMQのPythonバインディングです。ZeroMQは非同期メッセージングを可能にします。PyZMQをインストールすると、ZeroMQもインストールされます。そのため、事前にZeroMQをインストールする必要はありません。

PyZMQのシステム要件

PyZMQの最新バージョンは、22.0.3となります。サポートOSに関しては、Windows, macOS, Linuxを含むクロスプラットフォーム対応です。また、サポート対象となるPythonのバージョンは以下の通りです。

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

PyZMQのインストール

PyZMQのインストールは、以下のコマンドとなります。

pip install pyzmq

PyZMQの動作確認

以下に、ZeroMQの動作確認のためのPythonスクリプトを示します。

# server.py
import time
import zmq

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

while True:
    # Wait for next request from client
    message = socket.recv()
    print("Received request: %s" % message)
    time.sleep(1)
    # Send reply back to client
    socket.send(b"World")
# client.py
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")

# Do 10 requests, waiting each time for a response
for request in range(10):
    print("Sending request %s …" % request)
    socket.send(b"Hello")
    message = socket.recv()
    print("Received reply %s [ %s ]" % (request, message))

以上のスクリプトを実行すると、クライアントからのリクエストを受け取り、それに対してレスポンスを返すサーバーが動作します。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です