WebSocket Η επικοινωνία σάς επιτρέπει να στέλνετε και να λαμβάνετε μηνύματα σε πραγματικό χρόνο μεταξύ ενός διακομιστή και των πελατών. Ακολουθεί ένας λεπτομερής οδηγός για το πώς να το πετύχετε αυτό χρησιμοποιώντας Python τη websockets
βιβλιοθήκη.
Βήμα 1: Εγκαταστήστε τη WebSocket Βιβλιοθήκη
Αρχικά, εγκαταστήστε τη websockets
βιβλιοθήκη εκτελώντας την ακόλουθη εντολή στο terminal:
pip install websockets
Βήμα 2: Αποστολή και λήψη μηνυμάτων στο διακομιστή
Ακολουθεί ένα παράδειγμα του τρόπου αποστολής και λήψης μηνυμάτων σε 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()
Στο απόσπασμα κώδικα:
-
async def handle_connection(websocket, path):
: Αυτή η λειτουργία χειρίζεται WebSocket συνδέσεις. Όταν ένας πελάτης στέλνει ένα μήνυμα, αυτή η λειτουργία ακούει και στέλνει μια απάντηση. -
async for message in websocket:
: Αυτός ο βρόχος ακούει μηνύματα από τον πελάτη μέσω της WebSocket σύνδεσης. -
await websocket.send(f"Server received: {message}")
: Αυτή η λειτουργία στέλνει μια απάντηση από τον διακομιστή πίσω στον πελάτη μέσω της WebSocket σύνδεσης.
Βήμα 3: Αποστολή και λήψη μηνυμάτων από τον πελάτη
Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο ο πελάτης στέλνει και λαμβάνει μηνύματα από τον 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())
Στο απόσπασμα κώδικα:
-
async with websockets.connect("ws://localhost:8765") as websocket:
: Αυτός είναι ο τρόπος με τον οποίο ο πελάτης συνδέεται με τον WebSocket διακομιστή. Ο πελάτης δημιουργεί μια σύνδεση με τηlocalhost
διεύθυνση και τη θύρα8765
. -
await websocket.send("Hello, WebSocket!")
: Ο πελάτης στέλνει το μήνυμα στον διακομιστή.Hello, WebSocket!
-
response = await websocket.recv()
: Ο πελάτης περιμένει να λάβει απάντηση από τον διακομιστή μέσω της WebSocket σύνδεσης.
συμπέρασμα
Ακολουθώντας τα βήματα και κατανοώντας κάθε μέρος του παραδείγματος, έχετε μάθει με επιτυχία πώς να στέλνετε και να λαμβάνετε μηνύματα μέσω WebSocket του Python. Αυτό ανοίγει δυνατότητες για τη δημιουργία εφαρμογών σε πραγματικό χρόνο και τη συνεχή ανταλλαγή δεδομένων μεταξύ διακομιστή και πελατών.