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 in Python สิ่งนี้เปิดโอกาสสำหรับการสร้างแอปพลิเคชันตามเวลาจริงและการแลกเปลี่ยนข้อมูลอย่างต่อเนื่องระหว่างเซิร์ฟเวอร์และไคลเอนต์