Vybudování jednoduchého WebSocket serveru Python

Zabudování WebSocket serveru Python umožňuje vytvořit nepřetržitý a obousměrný komunikační kanál mezi serverem a klienty. Níže je podrobný průvodce vysvětlující každou komponentu pro vytvoření základního WebSocket serveru pomocí websockets knihovny.

Krok 1: Nainstalujte WebSocket knihovnu

Chcete-li začít, musíte nainstalovat websockets knihovnu provedením následujícího příkazu v terminal:

pip install websockets

Krok 2: Vytvoření WebSocket serveru

Zde je příklad, jak postavit WebSocket server 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()  

Ve fragmentu kódu:

  • async def handle_connection(websocket, path):: Tato funkce zpracovává WebSocket připojení. Pokaždé, když se klient připojí, je tato funkce volána, aby řídila komunikaci.

  • async for message in websocket:: Tato smyčka se iteruje, aby naslouchala zprávám od klienta prostřednictvím WebSocket připojení.

  • await websocket.send(response): Tato funkce odešle odpověď ze serveru zpět klientovi prostřednictvím WebSocket připojení.

  • websockets.serve(handle_connection, "localhost", 8765): Tato funkce vytvoří WebSocket server, který naslouchá připojení na localhost adrese a portu 8765.

Krok 3: Testování serveru

Po nasazení kódu serveru bude naslouchat připojením od klientů na portu 8765. Server můžete otestovat připojením k němu pomocí WebSocket klientského kódu nebo online testovacích nástrojů.

Závěr

Pomocí těchto kroků jste úspěšně vybudovali jednoduchý WebSocket server v Python. Tento server poskytuje základ pro vytváření aplikací v reálném čase a interakcí mezi serverem a klienty pomocí protokolu WebSocket.