WebSocket 通信により、サーバーとクライアント間でリアルタイム メッセージを送受信できます。 Python ここでは、ライブラリを使用して これを実現する方法についての詳細なガイドを示します websockets
。
ステップ 1: WebSocket ライブラリをインストールする
まず、 websockets
次のコマンドを実行してライブラリをインストールします terminal。
pip install websockets
ステップ 2: サーバー上でメッセージを送受信する
以下は、サーバー上でメッセージを送受信する方法の例です WebSocket。
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
await websocket.send(f"Server received: {message}")
# Initialize the WebSocket server
start_server = websockets.serve(handle_connection, "localhost", 8765)
# Run the server within the event loop
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
コードスニペットでは次のようになります。
-
async def handle_connection(websocket, path):
: この関数は WebSocket 接続を処理します。 クライアントがメッセージを送信すると、この関数はそれをリッスンして応答を送り返します。 -
async for message in websocket:
: このループは、接続を通じてクライアントからのメッセージを待機します WebSocket。 -
await websocket.send(f"Server received: {message}")
: この関数は、接続を介してサーバーからクライアントに応答を送り返します WebSocket。
ステップ 3: クライアントからのメッセージの送受信
クライアントがサーバーとメッセージを送受信する方法の例を次に示します WebSocket。
import asyncio
import websockets
async def send_and_receive():
async with websockets.connect("ws://localhost:8765") as websocket:
await websocket.send("Hello, WebSocket!")
response = await websocket.recv()
print("Received:", response)
asyncio.get_event_loop().run_until_complete(send_and_receive())
コードスニペットでは次のようになります。
-
async with websockets.connect("ws://localhost:8765") as websocket:
: これは、クライアントが WebSocket サーバーに接続する方法です。localhost
クライアントは、アドレスとポート への接続を確立します8765
。 -
await websocket.send("Hello, WebSocket!")
: クライアントはメッセージを サーバーに送信します。Hello, WebSocket!
-
response = await websocket.recv()
: クライアントは、接続を介してサーバーからの応答を受信するのを待ちます WebSocket。
結論
WebSocket 手順に従い、例の各部分を理解することで、を 介してメッセージを送受信する方法を学習できました Python。 これにより、リアルタイム アプリケーションの作成や、サーバーとクライアント間の継続的なデータ交換の可能性が広がります。