Budowa prostego WebSocket serwera w Python

Zbudowanie WebSocket serwera w Python pozwala na ustanowienie ciągłego i dwukierunkowego kanału komunikacji między serwerem a klientami. Poniżej znajduje się szczegółowy przewodnik wyjaśniający każdy komponent w celu zbudowania podstawowego WebSocket serwera przy użyciu websockets biblioteki.

Krok 1: Zainstaluj WebSocket bibliotekę

Aby rozpocząć, musisz zainstalować websockets bibliotekę, wykonując następujące polecenie w terminal:

pip install websockets

Krok 2: Tworzenie WebSocket serwera

Oto przykład, jak zbudować WebSocket serwer w 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()  

We fragmencie kodu:

  • async def handle_connection(websocket, path):: Ta funkcja obsługuje WebSocket połączenia. Za każdym razem, gdy klient się łączy, ta funkcja jest wywoływana w celu zarządzania komunikacją.

  • async for message in websocket:: Ta pętla wykonuje iterację w celu nasłuchiwania komunikatów od klienta za pośrednictwem WebSocket połączenia.

  • await websocket.send(response): Ta funkcja wysyła odpowiedź z serwera z powrotem do klienta za pośrednictwem WebSocket połączenia.

  • websockets.serve(handle_connection, "localhost", 8765): Ta funkcja tworzy WebSocket serwer, który nasłuchuje połączeń na podanym localhost adresie i porcie 8765.

Krok 3: Testowanie serwera

Po wdrożeniu kodu serwera będzie on nasłuchiwał połączeń od klientów na porcie 8765. Możesz przetestować serwer, łącząc się z nim za pomocą WebSocket kodu klienta lub narzędzi do testowania online.

Wniosek

Wykonując te kroki, pomyślnie zbudowałeś prosty WebSocket serwer w Python. Ten serwer zapewnia podstawę do tworzenia aplikacji czasu rzeczywistego i interakcji między serwerem a klientami za pomocą WebSocket protokołu.