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 เป็นวิธีที่มีประสิทธิภาพในการสร้างแอปพลิเคชันการสื่อสารแบบเรียลไทม์และสัมผัสกับข้อมูลที่อัปเดตทันที