Vgradnja WebSocket strežnika Python vam omogoča vzpostavitev neprekinjenega in dvosmernega komunikacijskega kanala med strežnikom in odjemalci. Spodaj je podroben vodnik, ki pojasnjuje vsako komponento za izdelavo osnovnega WebSocket strežnika z uporabo websockets
knjižnice.
1. korak: Namestite WebSocket knjižnico
Za začetek morate namestiti websockets
knjižnico tako, da izvedete naslednji ukaz v terminal:
pip install websockets
2. korak: Ustvarjanje WebSocket strežnika
Tukaj je primer, kako zgraditi WebSocket strežnik v 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()
V delčku kode:
-
async def handle_connection(websocket, path):
: Ta funkcija obravnava WebSocket povezave. Vsakič, ko se odjemalec poveže, se ta funkcija pokliče za upravljanje komunikacije. -
async for message in websocket:
: Ta zanka se ponavlja, da posluša sporočila odjemalca prek WebSocket povezave. -
await websocket.send(response)
: Ta funkcija pošlje odgovor s strežnika nazaj odjemalcu prek WebSocket povezave. -
websockets.serve(handle_connection, "localhost", 8765)
: Ta funkcija ustvari WebSocket strežnik, ki posluša povezave nalocalhost
naslovu in vratih8765
.
3. korak: Testiranje strežnika
Po uvedbi kode strežnika bo poslušal povezave odjemalcev na vratih 8765. Strežnik lahko preizkusite tako, da se z njim povežete s WebSocket kodo odjemalca ali spletnimi orodji za testiranje.
Zaključek
Z upoštevanjem teh korakov ste uspešno zgradili preprost WebSocket strežnik v Python. Ta strežnik zagotavlja osnovo za ustvarjanje aplikacij v realnem času in interakcij med strežnikom in odjemalci, ki uporabljajo WebSocket protokol.