WebSocket viestinnän avulla voit lähettää ja vastaanottaa reaaliaikaisia viestejä palvelimen ja asiakkaiden välillä. Tässä on yksityiskohtainen opas tämän saavuttamiseen kirjaston Python käytössä websockets
.
Vaihe 1: Asenna WebSocket kirjasto
Asenna ensin websockets
kirjasto suorittamalla seuraava komento hakemistossa terminal:
pip install websockets
Vaihe 2: Viestien lähettäminen ja vastaanottaminen palvelimella
Alla on esimerkki viestien lähettämisestä ja vastaanottamisesta palvelimella 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()
Koodinpätkässä:
-
async def handle_connection(websocket, path):
: Tämä toiminto käsittelee WebSocket yhteyksiä. Kun asiakas lähettää viestin, tämä toiminto kuuntelee ja lähettää vastauksen takaisin. -
async for message in websocket:
: Tämä silmukka kuuntelee asiakkaalta yhteyden kautta tulevia viestejä WebSocket. -
await websocket.send(f"Server received: {message}")
: Tämä toiminto lähettää vastauksen palvelimelta takaisin asiakkaalle yhteyden kautta WebSocket.
Vaihe 3: Viestien lähettäminen ja vastaanottaminen asiakkaalta
Tässä on esimerkki siitä, kuinka asiakas lähettää ja vastaanottaa viestejä palvelimelta 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())
Koodinpätkässä:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Näin asiakas muodostaa yhteyden palvelimeen WebSocket. Asiakas muodostaa yhteyden osoitteeseenlocalhost
ja porttiin8765
. -
await websocket.send("Hello, WebSocket!")
: Asiakas lähettää viestin palvelimelle.Hello, WebSocket!
-
response = await websocket.recv()
: Asiakas odottaa saavansa vastauksen palvelimelta yhteyden kautta WebSocket.
Johtopäätös
Seuraamalla ohjeita ja ymmärtämällä kunkin esimerkin osan olet onnistuneesti oppinut lähettämään ja vastaanottamaan viestejä -sovelluksen WebSocket kautta Python. Tämä avaa mahdollisuuksia luoda reaaliaikaisia sovelluksia ja jatkuvaa tiedonvaihtoa palvelimen ja asiakkaiden välillä.