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ı kurar8765
. -
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.