WebSocket komunikacija vam omogućuje slanje i primanje poruka u stvarnom vremenu između poslužitelja i klijenata. Evo detaljnog vodiča o tome kako to postići korištenjem Python knjižnice websockets
.
Korak 1: Instalirajte WebSocket biblioteku
Prvo instalirajte websockets
biblioteku pokretanjem sljedeće naredbe u terminal:
pip install websockets
Korak 2: Slanje i primanje poruka na poslužitelju
Ispod je primjer kako slati i primati poruke na WebSocket poslužitelju:
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()
U isječku koda:
-
async def handle_connection(websocket, path):
: Ova funkcija upravlja WebSocket vezama. Kada klijent pošalje poruku, ova funkcija sluša i šalje odgovor. -
async for message in websocket:
: Ova petlja osluškuje poruke od klijenta putem WebSocket veze. -
await websocket.send(f"Server received: {message}")
: Ova funkcija šalje odgovor s poslužitelja natrag klijentu putem WebSocket veze.
Korak 3: Slanje i primanje poruka od klijenta
Evo primjera kako klijent šalje i prima poruke s WebSocket poslužitelja:
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())
U isječku koda:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Ovo je način na koji se klijent povezuje s WebSocket poslužiteljem. Klijent uspostavlja vezu nalocalhost
adresu i port8765
. -
await websocket.send("Hello, WebSocket!")
: Klijent šalje poruku poslužitelju.Hello, WebSocket!
-
response = await websocket.recv()
: Klijent čeka da primi odgovor od poslužitelja putem WebSocket veze.
Zaključak
Slijedeći korake i razumijevajući svaki dio primjera, uspješno ste naučili kako slati i primati poruke putem WebSocket u Python. To otvara mogućnosti za kreiranje aplikacija u stvarnom vremenu i kontinuiranu razmjenu podataka između poslužitelja i klijenata.