Dërgimi dhe marrja e mesazheve përmes WebSocket in Python

WebSocket komunikimi ju lejon të dërgoni dhe merrni mesazhe në kohë reale midis një serveri dhe klientëve. Këtu keni një udhëzues të detajuar se si ta arrini këtë në Python përdorimin e websockets bibliotekës.

Hapi 1: Instaloni WebSocket Bibliotekën

Së pari, instaloni websockets bibliotekën duke ekzekutuar komandën e mëposhtme në terminal:

pip install websockets

Hapi 2: Dërgimi dhe marrja e mesazheve në server

Më poshtë është një shembull se si të dërgoni dhe merrni mesazhe në një 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()  

Në fragmentin e kodit:

  • async def handle_connection(websocket, path):: Ky funksion trajton WebSocket lidhjet. Kur një klient dërgon një mesazh, ky funksion dëgjon dhe dërgon një përgjigje.

  • async for message in websocket:: Ky lak dëgjon mesazhet nga klienti përmes WebSocket lidhjes.

  • await websocket.send(f"Server received: {message}"): Ky funksion dërgon një përgjigje nga serveri te klienti nëpërmjet WebSocket lidhjes.

Hapi 3: Dërgimi dhe marrja e mesazheve nga klienti

Këtu është një shembull se si klienti dërgon dhe merr mesazhe nga serveri WebSocket:

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())  

Në fragmentin e kodit:

  • async with websockets.connect("ws://localhost:8765") as websocket:: Kjo është mënyra se si klienti lidhet me serverin WebSocket. Klienti krijon një lidhje me localhost adresën dhe portin 8765.

  • await websocket.send("Hello, WebSocket!"): Klienti dërgon mesazhin  te serveri. Hello, WebSocket!

  • response = await websocket.recv(): Klienti pret të marrë një përgjigje nga serveri nëpërmjet WebSocket lidhjes.

konkluzioni

Duke ndjekur hapat dhe duke kuptuar secilën pjesë të shembullit, ju keni mësuar me sukses se si të dërgoni dhe merrni mesazhe nëpërmjet WebSocket në Python. Kjo hap mundësi për krijimin e aplikacioneve në kohë reale dhe shkëmbim të vazhdueshëm të të dhënave ndërmjet serverit dhe klientëve.