Mengirim dan Menerima Pesan melalui WebSocket in Python

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 ke localhost alamat dan port 8765.

  • 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.