WebSocket A kommunikáció lehetővé teszi valós idejű üzenetek küldését és fogadását a szerver és az ügyfelek között. Itt található egy részletes útmutató, hogyan érheti el ezt Python a websockets
könyvtár használatával.
1. lépés: Telepítse a WebSocket könyvtárat
Először telepítse a websockets
könyvtárat a következő parancs futtatásával a következőben terminal:
pip install websockets
2. lépés: Üzenetek küldése és fogadása a szerveren
Az alábbiakban egy példa látható arra, hogyan lehet üzeneteket küldeni és fogadni egy szerveren 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()
A kódrészletben:
-
async def handle_connection(websocket, path):
: Ez a funkció a kapcsolatokat kezeli WebSocket. Amikor egy kliens üzenetet küld, ez a funkció figyel, és visszaküldi a választ. -
async for message in websocket:
: Ez a hurok figyeli a kliens üzeneteit a WebSocket kapcsolaton keresztül. -
await websocket.send(f"Server received: {message}")
: Ez a funkció választ küld vissza a szerverről a kliensnek a WebSocket kapcsolaton keresztül.
3. lépés: Üzenetek küldése és fogadása az ügyféltől
Íme egy példa arra, hogy az ügyfél hogyan küld és fogad üzeneteket a szervertől 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())
A kódrészletben:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: A kliens így csatlakozik a szerverhez WebSocket. Az ügyfél kapcsolatot létesít alocalhost
címmel és a porttal8765
. -
await websocket.send("Hello, WebSocket!")
: A kliens elküldi az üzenetet a szervernek.Hello, WebSocket!
-
response = await websocket.recv()
: A kliens arra vár, hogy a kapcsolaton keresztül választ kapjon a szervertől WebSocket.
Következtetés
A lépések követésével és a példa egyes részeinek megértésével sikeresen megtanulta, hogyan küldhet és fogadhat üzeneteket WebSocket a következőn keresztül Python:. Ez lehetőséget teremt a valós idejű alkalmazások létrehozására és a szerver és a kliensek közötti folyamatos adatcserére.