WebSocket üzerinden Mesaj Gönderme ve Alma Python

WebSocket iletişim, bir sunucu ile istemciler arasında gerçek zamanlı mesajlar gönderip almanıza olanak tanır. Python İşte kitaplığı kullanarak bunu nasıl başaracağınıza dair ayrıntılı bir kılavuz websockets.

1. Adım: Kitaplığı WebSocket Kurun

İlk olarak, websockets aşağıdaki komutu çalıştırarak kitaplığı kurun terminal:

pip install websockets

Adım 2: Sunucuda Mesaj Gönderme ve Alma

Aşağıda, bir sunucuda nasıl mesaj gönderilip alınacağına dair bir örnek verilmiştir WebSocket:

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

Kod parçacığında:

  • async def handle_connection(websocket, path):: Bu fonksiyon WebSocket bağlantıları yönetir. Bir istemci bir mesaj gönderdiğinde, bu işlev dinler ve bir yanıt gönderir.

  • async for message in websocket:: Bu döngü, bağlantı aracılığıyla istemciden gelen mesajları dinler WebSocket.

  • await websocket.send(f"Server received: {message}"): Bu işlev, sunucudan istemciye WebSocket bağlantı yoluyla bir yanıt gönderir.

3. Adım: İstemciden Mesaj Gönderme ve Alma

Aşağıda, istemcinin sunucudan nasıl mesaj gönderip aldığına dair bir örnek verilmiştir WebSocket:

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

Kod parçacığında:

  • async with websockets.connect("ws://localhost:8765") as websocket:: İstemci sunucuya bu şekilde bağlanır WebSocket. İstemci, localhost adres ve bağlantı noktasına bir bağlantı kurar 8765.

  • await websocket.send("Hello, WebSocket!"): İstemci mesajı  sunucuya gönderir. Hello, WebSocket!

  • response = await websocket.recv(): İstemci, bağlantı yoluyla sunucudan bir yanıt almak için bekler WebSocket.

Çözüm

WebSocket Adımları takip ederek ve örneğin her bir bölümünü anlayarak, aracılığıyla mesaj göndermeyi ve almayı başarıyla öğrendiniz Python. Bu, sunucu ve istemciler arasında gerçek zamanlı uygulamalar ve sürekli veri alışverişi oluşturma olanaklarını açar.