Menghantar dan Menerima Mesej melalui WebSocket dalam Python

WebSocket komunikasi membolehkan anda menghantar dan menerima mesej masa nyata antara pelayan dan pelanggan. Berikut ialah panduan terperinci tentang cara mencapai ini dalam Python menggunakan websockets perpustakaan.

Langkah 1: Pasang WebSocket Perpustakaan

Pertama, pasang websockets perpustakaan dengan menjalankan arahan berikut dalam terminal:

pip install websockets

Langkah 2: Menghantar dan Menerima Mesej pada Pelayan

Di bawah ialah contoh cara menghantar dan menerima mesej pada WebSocket pelayan:

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

Dalam coretan kod:

  • async def handle_connection(websocket, path):: Fungsi ini mengendalikan WebSocket sambungan. Apabila pelanggan menghantar mesej, fungsi ini mendengar dan menghantar balasan kembali.

  • async for message in websocket:: Gelung ini mendengar mesej daripada klien melalui WebSocket sambungan.

  • await websocket.send(f"Server received: {message}"): Fungsi ini menghantar respons daripada pelayan kembali kepada klien melalui WebSocket sambungan.

Langkah 3: Menghantar dan Menerima Mesej daripada Pelanggan

Berikut ialah contoh cara pelanggan menghantar dan menerima mesej daripada WebSocket pelayan:

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

Dalam coretan kod:

  • async with websockets.connect("ws://localhost:8765") as websocket:: Beginilah cara klien menyambung ke WebSocket pelayan. Pelanggan membuat sambungan ke localhost alamat dan port 8765.

  • await websocket.send("Hello, WebSocket!"): Pelanggan menghantar mesej  kepada pelayan. Hello, WebSocket!

  • response = await websocket.recv(): Pelanggan menunggu untuk menerima respons daripada pelayan melalui WebSocket sambungan.

Kesimpulan

Dengan mengikuti langkah-langkah dan memahami setiap bahagian contoh, anda telah berjaya mempelajari cara menghantar dan menerima mesej melalui WebSocket dalam Python. Ini membuka kemungkinan untuk mencipta aplikasi masa nyata dan pertukaran data berterusan antara pelayan dan pelanggan.