Tibgħat u Riċeviment Messaġġi permezz ta WebSocket ' in Python

WebSocket komunikazzjoni tippermettilek tibgħat u tirċievi messaġġi f'ħin reali bejn server u klijenti. Hawnhekk hawn gwida dettaljata dwar kif tikseb dan fl- Python użu tal- websockets librerija.

Pass 1: Installa l- WebSocket Librerija

L-ewwel, installa l- websockets librerija billi tħaddem il-kmand li ġej fil- terminal:

pip install websockets

Pass 2: Tibgħat u Tirċievi Messaġġi fuq is-Server

Hawn taħt hawn eżempju ta’ kif tibgħat u tirċievi messaġġi fuq WebSocket server:

import asyncio  
import websockets  
  
# WebSocket connection handling function  
async def handle_connection(websocket, path):  
    async for message in websocket:  
        await websocket.send(f"Server received: {message}")  
  
# 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()  

Fis-snippet tal-kodiċi:

  • async def handle_connection(websocket, path):: Din il-funzjoni tieħu ħsieb WebSocket il-konnessjonijiet. Meta klijent jibgħat messaġġ, din il-funzjoni tisma' u tibgħat tweġiba lura.

  • async for message in websocket:: Din il-linja tisma' għal messaġġi mill-klijent permezz tal- WebSocket konnessjoni.

  • await websocket.send(f"Server received: {message}"): Din il-funzjoni tibgħat tweġiba mis-server lura lill-klijent permezz tal- WebSocket konnessjoni.

Pass 3: Tibgħat u Tirċievi Messaġġi mill-Klijent

Hawn eżempju ta 'kif il-klijent jibgħat u jirċievi messaġġi mis- WebSocket server:

import asyncio  
import websockets  
  
async def send_and_receive():  
    async with websockets.connect("ws://localhost:8765") as websocket:  
        await websocket.send("Hello, WebSocket!")  
        response = await websocket.recv()  
        print("Received:", response)  
  
asyncio.get_event_loop().run_until_complete(send_and_receive())  

Fis-snippet tal-kodiċi:

  • async with websockets.connect("ws://localhost:8765") as websocket:: Dan huwa kif il-klijent jgħaqqad mas- WebSocket server. Il-klijent jistabbilixxi konnessjoni mal- localhost indirizz u l-port 8765.

  • await websocket.send("Hello, WebSocket!"): Il-klijent jibgħat il-messaġġ  lis-server. Hello, WebSocket!

  • response = await websocket.recv(): Il-klijent jistenna li jirċievi tweġiba mis-server permezz tal- WebSocket konnessjoni.

Konklużjoni

Billi ssegwi l-passi u tifhem kull parti tal-eżempju, tgħallimt b'suċċess kif tibgħat u tirċievi messaġġi permezz WebSocket ta' Python. Dan jiftaħ possibiltajiet għall-ħolqien ta' applikazzjonijiet f'ħin reali u skambju kontinwu ta' data bejn is-server u l-klijenti.