สร้าง WebSocket เซิร์ฟเวอร์อย่างง่ายใน Python

การสร้าง WebSocket เซิร์ฟเวอร์ใน Python ช่วยให้คุณสร้างช่องทางการสื่อสารแบบสองทิศทางอย่างต่อเนื่องระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ ด้านล่างนี้เป็นคำแนะนำโดยละเอียดที่อธิบายแต่ละส่วนประกอบเพื่อสร้าง WebSocket เซิร์ฟเวอร์พื้นฐานโดยใช้ websockets ไลบรารี

ขั้นตอนที่ 1: ติดตั้ง WebSocket ไลบรารี

ในการเริ่มต้น คุณต้องติดตั้ง websockets ไลบรารีโดยดำเนินการคำสั่งต่อไปนี้ใน terminal:

pip install websockets

ขั้นตอนที่ 2: การสร้าง WebSocket เซิร์ฟเวอร์

นี่คือตัวอย่างวิธีสร้าง WebSocket เซิร์ฟเวอร์ใน Python:

import asyncio  
import websockets  
  
# WebSocket connection handling function  
async def handle_connection(websocket, path):  
    async for message in websocket:  
        # Process the data and send a response  
        response = f"Server received: {message}"  
        await websocket.send(response)  
  
# 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(response): ฟังก์ชันนี้จะส่งการตอบสนองจากเซิร์ฟเวอร์กลับไปยังไคลเอนต์ผ่านการ WebSocket เชื่อมต่อ

  • websockets.serve(handle_connection, "localhost", 8765): ฟังก์ชันนี้สร้าง เซิร์ฟเวอร์ที่รับฟังการ เชื่อม WebSocket ต่อกับที่ localhost อยู่และพอร์ต 8765

ขั้นตอนที่ 3: ทดสอบเซิร์ฟเวอร์

หลังจากปรับใช้รหัสเซิร์ฟเวอร์แล้ว ระบบจะรับฟังการเชื่อมต่อจากไคลเอ็นต์ที่พอร์ต 8765 คุณสามารถทดสอบเซิร์ฟเวอร์ได้โดยการเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ WebSocket รหัสไคลเอนต์หรือเครื่องมือทดสอบออนไลน์

บทสรุป

เมื่อทำตามขั้น ตอน เหล่านี้ คุณก็สร้าง WebSocket เซิร์ฟเวอร์อย่างง่ายใน Python เซิร์ฟเวอร์นี้เป็นรากฐานสำหรับการสร้างแอปพลิเคชันแบบเรียลไทม์และการโต้ตอบระหว่างเซิร์ฟเวอร์และไคลเอนต์โดยใช้ WebSocket โปรโตคอล