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 kelocalhost
alamat dan port8765
. -
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.