Μετάδοση δεδομένων σε πραγματικό χρόνο με Python WebSocket

WebSocket είναι μια τεχνολογία που επιτρέπει την αποτελεσματική μετάδοση δεδομένων σε πραγματικό χρόνο μεταξύ ενός διακομιστή και των πελατών μέσω αμφίδρομων συνδέσεων. Ακολουθεί ένας οδηγός σχετικά με τον τρόπο χρήσης WebSocket για τη μετάδοση δεδομένων σε πραγματικό χρόνο από έναν διακομιστή σε πελάτες στην Python:

Εγκαταστήστε τη WebSocket Βιβλιοθήκη

Χρησιμοποιήστε τη websockets βιβλιοθήκη για την υλοποίηση WebSocket διακομιστή και πελάτη. Εγκαταστήστε αυτήν τη βιβλιοθήκη χρησιμοποιώντας το pip:

pip install websockets

Δημιουργήστε τον WebSocket διακομιστή

Ο WebSocket διακομιστής θα στείλει δεδομένα σε πραγματικό χρόνο σε όλους τους συνδεδεμένους πελάτες.

import asyncio  
import websockets  
  
# Function to send real-time data from the server  
async def send_real_time_data(websocket, path):  
    while True:  
        real_time_data = get_real_time_data()  # Get real-time data from a source  
        await websocket.send(real_time_data)  
        await asyncio.sleep(1)  # Send data every second  
  
start_server = websockets.serve(send_real_time_data, "localhost", 8765)  
asyncio.get_event_loop().run_until_complete(start_server)  
asyncio.get_event_loop().run_forever()  

Δημιουργήστε τον WebSocket Πελάτη

Ο WebSocket πελάτης θα ακούσει και θα λάβει δεδομένα σε πραγματικό χρόνο από τον διακομιστή.

import asyncio  
import websockets  
  
async def receive_real_time_data():  
    async with websockets.connect("ws://localhost:8765") as websocket:  
        while True:  
            real_time_data = await websocket.recv()  
            print("Received real-time data:", real_time_data)  
  
asyncio.get_event_loop().run_until_complete(receive_real_time_data())  

Εκτελέστε την Εφαρμογή

Εκτελέστε WebSocket πρώτα τον κωδικό διακομιστή και μετά εκτελέστε τον WebSocket κωδικό πελάτη. Θα δείτε δεδομένα σε πραγματικό χρόνο να μεταδίδονται από τον διακομιστή και να λαμβάνονται συνεχώς από τον πελάτη.

Προσαρμογή και επέκταση

Από εδώ, μπορείτε να προσαρμόσετε και να επεκτείνετε την εφαρμογή σας προσθέτοντας λειτουργίες όπως έλεγχος ταυτότητας, φιλτράρισμα δεδομένων, μορφοποίηση δεδομένων και άλλα.

Συμπέρασμα:

Η χρήση WebSocket για μετάδοση δεδομένων σε πραγματικό χρόνο από έναν διακομιστή σε πελάτες στην Python είναι ένας ισχυρός τρόπος για τη δημιουργία εφαρμογών επικοινωνίας σε πραγματικό χρόνο και την εμπειρία άμεσης ενημέρωσης δεδομένων.