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-ში არის მძლავრი გზა რეალურ დროში საკომუნიკაციო აპლიკაციების შესაქმნელად და მყისიერად განახლებული მონაცემების გამოცდილებისთვის .