Kuunda WebSocket seva ndani Python hukuruhusu kuanzisha mkondo wa mawasiliano unaoendelea na wa pande mbili kati ya seva na wateja. Chini ni mwongozo wa kina unaoelezea kila sehemu ya kuunda WebSocket seva ya msingi kwa kutumia websockets
maktaba.
Hatua ya 1: Sakinisha WebSocket Maktaba
Kuanza, unahitaji kusakinisha websockets
maktaba kwa kutekeleza amri ifuatayo katika terminal:
pip install websockets
Hatua ya 2: Kuunda WebSocket Seva
Hapa kuna mfano wa jinsi ya kuunda WebSocket seva katika 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()
Katika kijisehemu cha kanuni:
-
async def handle_connection(websocket, path):
: Chaguo hili la kukokotoa hushughulikia WebSocket miunganisho. Kila wakati mteja anaunganisha, kazi hii inaitwa kusimamia mawasiliano. -
async for message in websocket:
: Kitanzi hiki kinarudia kusikiliza ujumbe kutoka kwa mteja kupitia WebSocket muunganisho. -
await websocket.send(response)
: Chaguo hili la kukokotoa hutuma jibu kutoka kwa seva kurudi kwa mteja kupitia WebSocket muunganisho. -
websockets.serve(handle_connection, "localhost", 8765)
: Chaguo hili la kukokotoa huunda WebSocket seva inayosikiliza miunganisho kwenyelocalhost
anwani na mlango8765
.
Hatua ya 3: Kujaribu Seva
Baada ya kupeleka msimbo wa seva, itasikiliza miunganisho kutoka kwa wateja kwenye bandari 8765. Unaweza kujaribu seva kwa kuunganisha nayo kwa kutumia WebSocket msimbo wa mteja au zana za kupima mtandaoni.
Hitimisho
Kwa kufuata hatua hizi, umefanikiwa kuunda WebSocket seva rahisi katika Python. Seva hii hutoa msingi wa kuunda programu za wakati halisi na mwingiliano kati ya seva na wateja kwa kutumia WebSocket itifaki.