Socket.IO คืออะไร
Socket.IO เป็นไลบรารีที่ช่วยให้สามารถสร้างการสื่อสารแบบเรียลไทม์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ โดยใช้โปรโตคอล WebSocket ซึ่งสามารถใช้ในการพัฒนาแอปพลิเคชันที่ต้องการการสื่อสารสองทางแบบเรียลไทม์ เช่น แชทแอปพลิเคชัน เกมออนไลน์ หรือการแจ้งเตือนแบบเรียลไทม์
การติดตั้ง Socket.IO ใน Python
ก่อนที่จะเริ่มต้นพัฒนา คุณจำเป็นต้องติดตั้งไลบรารีที่เกี่ยวข้อง โดยสามารถติดตั้งได้ง่าย ๆ ผ่าน pip:
pip install flask flask-socketio
import socketio
sio = socketio.Client(reconnection=True, reconnection_attempts=5, reconnection_delay=1)
# สร้างไคลเอนต์ Socket.IO
sio = socketio.Client()
@sio.event
def connect():
now = datetime.now()
print('connection established',now)
@sio.event
def control(data):
#ทำงานเมื่อมีเหตุการใน Event API Funtion Control
@sio.event
def disconnect():
now = datetime.now()
print('disconnected from server',now)
# เชื่อมต่อไปยังเซิร์ฟเวอร์ Node.js
sio.connect("IP:PORT")
try:
#เหตุการณ์หรือการทำงานอื่นที่สั่งให้ระบบทำงาน เช่น function loop if
except KeyboardInterrupt:
pass
finally:
sio.disconnect()
โดยกำหนดให้ python คือ Client Socket API จะถูกสั่งงานมาจาก Server ของระบบซึ่ง API หลังบ้านจะใช้ Node js เป็น Library หลัก
* python socket io จะใช้ได้กับ python 3.7 ขึ้นไป