შეტყობინებების გაგზავნა და მიღება WebSocket in-ის საშუალებით Python

WebSocket კომუნიკაცია საშუალებას გაძლევთ გაგზავნოთ და მიიღოთ რეალურ დროში შეტყობინებები სერვერსა და კლიენტებს შორის. აქ მოცემულია დეტალური სახელმძღვანელო, თუ როგორ უნდა მიაღწიოთ ამას ბიბლიოთეკის Python გამოყენებით websockets.

ნაბიჯი 1: დააინსტალირეთ WebSocket ბიბლიოთეკა

პირველი, დააინსტალირეთ websockets ბიბლიოთეკა შემდეგი ბრძანების გაშვებით terminal:

pip install websockets

ნაბიჯი 2: სერვერზე შეტყობინებების გაგზავნა და მიღება

ქვემოთ მოცემულია მაგალითი იმისა, თუ როგორ უნდა გაგზავნოთ და მიიღოთ შეტყობინებები სერვერზე WebSocket:

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

კოდის ნაწყვეტში:

  • async def handle_connection(websocket, path):: ეს ფუნქცია ამუშავებს WebSocket კავშირებს. როდესაც კლიენტი აგზავნის შეტყობინებას, ეს ფუნქცია უსმენს და აგზავნის პასუხს.

  • async for message in websocket:: ეს ციკლი უსმენს კლიენტის შეტყობინებებს კავშირის საშუალებით WebSocket.

  • await websocket.send(f"Server received: {message}"): ეს ფუნქცია უგზავნის პასუხს სერვერიდან კლიენტთან WebSocket კავშირის საშუალებით.

ნაბიჯი 3: კლიენტისგან შეტყობინებების გაგზავნა და მიღება

აქ არის მაგალითი იმისა, თუ როგორ აგზავნის და იღებს კლიენტი შეტყობინებებს სერვერიდან 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())  

კოდის ნაწყვეტში:

  • async with websockets.connect("ws://localhost:8765") as websocket:: ასე უერთდება კლიენტი სერვერს WebSocket. კლიენტი ამყარებს კავშირს მისამართთან localhost და პორტთან 8765.

  • await websocket.send("Hello, WebSocket!"): კლიენტი აგზავნის შეტყობინებას  სერვერზე. Hello, WebSocket!

  • response = await websocket.recv(): კლიენტი ელოდება სერვერისგან პასუხის მიღებას კავშირის საშუალებით WebSocket.

დასკვნა

ნაბიჯების მიყოლებით და მაგალითის თითოეული ნაწილის გაგებით, თქვენ წარმატებით ისწავლეთ შეტყობინებების გაგზავნა და მიღება WebSocket ში Python. ეს ხსნის რეალურ დროში აპლიკაციების შექმნისა და მონაცემთა უწყვეტი გაცვლის შესაძლებლობებს სერვერსა და კლიენტებს შორის.