WebSocket komunikasi memungkinkan Anda untuk mengirim dan menerima pesan real-time antara server dan klien. Berikut panduan terperinci tentang cara mencapai ini dalam Python menggunakan websockets
perpustakaan.
Langkah 1: Instal WebSocket Perpustakaan
Pertama, instal websockets
perpustakaan dengan menjalankan perintah berikut di terminal:
pip install websockets
Langkah 2: Mengirim dan Menerima Pesan di Server
Di bawah ini adalah contoh cara mengirim dan menerima pesan di 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()
Dalam cuplikan kode:
-
async def handle_connection(websocket, path):
: Fungsi ini menangani WebSocket koneksi. Saat klien mengirim pesan, fungsi ini mendengarkan dan mengirimkan respons kembali. -
async for message in websocket:
: Loop ini mendengarkan pesan dari klien melalui koneksi WebSocket. -
await websocket.send(f"Server received: {message}")
: Fungsi ini mengirimkan respons dari server kembali ke klien melalui koneksi WebSocket.
Langkah 3: Mengirim dan Menerima Pesan dari Klien
Berikut adalah contoh bagaimana klien mengirim dan menerima pesan dari WebSocket server:
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 cuplikan kode:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Beginilah cara klien terhubung ke WebSocket server. Klien membuat koneksi kelocalhost
alamat dan port8765
. -
await websocket.send("Hello, WebSocket!")
: Klien mengirim pesan ke server.Hello, WebSocket!
-
response = await websocket.recv()
: Klien menunggu untuk menerima respons dari server melalui koneksi WebSocket.
Kesimpulan
Dengan mengikuti langkah-langkah dan memahami setiap bagian dari contoh, Anda telah berhasil mempelajari cara mengirim dan menerima pesan melalui WebSocket in Python. Ini membuka kemungkinan untuk membuat aplikasi real-time dan pertukaran data berkelanjutan antara server dan klien.