Sukurkite paprastą WebSocket serverį Python

WebSocket Serverio sukūrimas Python leidžia sukurti nuolatinį ir dvikryptį ryšio kanalą tarp serverio ir klientų. Žemiau pateikiamas išsamus vadovas, paaiškinantis kiekvieną komponentą, kaip sukurti pagrindinį WebSocket serverį naudojant websockets biblioteką.

1 veiksmas: įdiekite WebSocket biblioteką

Norėdami pradėti, turite įdiegti websockets biblioteką vykdydami šią komandą terminal:

pip install websockets

2 veiksmas: sukurkite WebSocket serverį

Štai pavyzdys, kaip sukurti WebSocket serverį 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()  

Kodo fragmente:

  • async def handle_connection(websocket, path):: Ši funkcija tvarko WebSocket ryšius. Kiekvieną kartą, kai klientas prisijungia, ši funkcija iškviečiama valdyti ryšį.

  • async for message in websocket:: ši kilpa kartojasi, kad klausytųsi kliento pranešimų per WebSocket ryšį.

  • await websocket.send(response): Ši funkcija siunčia atsakymą iš serverio atgal klientui per WebSocket ryšį.

  • websockets.serve(handle_connection, "localhost", 8765): Ši funkcija sukuria WebSocket serverį, kuris klausosi jungčių adresu localhost ir prievadu 8765.

3 veiksmas: serverio testavimas

Įdiegęs serverio kodą, jis klausys ryšių iš klientų prie 8765 prievado. Galite išbandyti serverį prisijungę prie jo naudodami WebSocket kliento kodą arba internetinius testavimo įrankius.

Išvada

Atlikę šiuos veiksmus, sėkmingai sukūrėte paprastą WebSocket serverį Python. Šis serveris suteikia pagrindą kurti programas realiuoju laiku ir sąveikauti tarp serverio ir klientų naudojant protokolą WebSocket.