Ugradnja WebSocket poslužitelja Python omogućuje vam uspostavljanje kontinuiranog i dvosmjernog komunikacijskog kanala između poslužitelja i klijenata. Ispod je detaljan vodič koji objašnjava svaku komponentu za izradu osnovnog WebSocket poslužitelja pomoću websockets
biblioteke.
Korak 1: Instalirajte WebSocket biblioteku
Za početak morate instalirati websockets
biblioteku izvršavanjem sljedeće naredbe u terminal:
pip install websockets
Korak 2: Stvaranje WebSocket poslužitelja
Evo primjera kako izgraditi WebSocket poslužitelj u Python:
import asyncio
import websockets
# WebSocket connection handling function
async def handle_connection(websocket, path):
async for message in websocket:
# Process the data and send a response
response = f"Server received: {message}"
await websocket.send(response)
# 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. Svaki put kada se klijent poveže, ova se funkcija poziva za upravljanje komunikacijom. -
async for message in websocket:
: Ova petlja ponavlja kako bi osluškivala poruke od klijenta kroz WebSocket vezu. -
await websocket.send(response)
: Ova funkcija šalje odgovor s poslužitelja natrag klijentu putem WebSocket veze. -
websockets.serve(handle_connection, "localhost", 8765)
: Ova funkcija stvara WebSocket poslužitelj koji osluškuje veze nalocalhost
adresi i portu8765
.
Korak 3: Testiranje poslužitelja
Nakon postavljanja koda poslužitelja, osluškivat će veze klijenata na priključku 8765. Poslužitelj možete testirati povezivanjem s njim pomoću WebSocket koda klijenta ili online alata za testiranje.
Zaključak
Slijedeći ove korake, uspješno ste izgradili jednostavan WebSocket poslužitelj u Python. Ovaj poslužitelj pruža temelj za stvaranje aplikacija u stvarnom vremenu i interakcije između poslužitelja i klijenata koji koriste WebSocket protokol.