Teachtaireachtaí a Sheoladh agus a Fháil trí WebSocket i Python

WebSocket ligeann cumarsáid duit teachtaireachtaí fíor-ama a sheoladh agus a fháil idir freastalaí agus cliaint. Seo treoir mhionsonraithe ar conas é seo a bhaint amach agus Python an websockets leabharlann á úsáid.

Céim 1: Suiteáil an WebSocket Leabharlann

Ar dtús, suiteáil an websockets leabharlann tríd an ordú seo a leanas a rith sa terminal:

pip install websockets

Céim 2: Teachtaireachtaí a sheoladh agus a fháil ar an bhfreastalaí

Seo thíos sampla de conas teachtaireachtaí a sheoladh agus a fháil ar WebSocket fhreastalaí:

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

Sa bhlúire cód:

  • async def handle_connection(websocket, path):: Láimhseálann an fheidhm seo WebSocket naisc. Nuair a sheolann cliant teachtaireacht, éisteann an fheidhm seo agus seolann freagra ar ais.

  • async for message in websocket:: Éisteann an lúb seo le haghaidh teachtaireachtaí ón gcliant tríd an WebSocket nasc.

  • await websocket.send(f"Server received: {message}"): Seolann an fheidhm seo freagra ón bhfreastalaí ar ais chuig an gcliant tríd an WebSocket nasc.

Céim 3: Teachtaireachtaí a Sheoladh agus a Fháil ón gCliant

Seo sampla den chaoi a seolann agus a fhaigheann an cliant teachtaireachtaí ón WebSocket bhfreastalaí:

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

Sa bhlúire cód:

  • async with websockets.connect("ws://localhost:8765") as websocket:: Seo mar a nascann an cliant leis an WebSocket bhfreastalaí. Bunaíonn an cliant nasc leis an localhost seoladh agus leis an gcalafort 8765.

  • await websocket.send("Hello, WebSocket!"): Seolann an cliant an teachtaireacht  chuig an bhfreastalaí. Hello, WebSocket!

  • response = await websocket.recv(): Fanann an cliant le freagra a fháil ón bhfreastalaí tríd an WebSocket nasc.

Conclúid

Trí na céimeanna a leanúint agus gach cuid den sampla a thuiscint, d'éirigh leat foghlaim conas teachtaireachtaí a sheoladh agus a fháil trí WebSocket mheán Python. Osclaíonn sé seo féidearthachtaí chun feidhmchláir fhíor-ama agus malartú leanúnach sonraí a chruthú idir an freastalaí agus na cliaint.