ข้ามไปที่เนื้อหาหลัก

การเขียนโปรแกรมภาษา Python Socket IO

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



การติดตั้ง Socket.IO ใน Python
ก่อนที่จะเริ่มต้นพัฒนา คุณจำเป็นต้องติดตั้งไลบรารีที่เกี่ยวข้อง โดยสามารถติดตั้งได้ง่าย ๆ ผ่าน pip:    

pip install flask flask-socketio


ตัวอย่างของการเขียน python โดยใช้ socket IO ควบคุมห้อง Smart Room 

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 ขึ้นไป



โพสต์ยอดนิยมจากบล็อกนี้

การใช้งาน docker Desktop บน windows

  Docker Desktop คือเครื่องมือแบบ all-in-one ที่ช่วยให้คุณสามารถพัฒนา, รัน และจัดการ container บนระบบปฏิบัติการ Windows และ macOS ได้อย่างง่ายดาย โดย Docker Desktop มาพร้อมกับทุกสิ่งที่คุณต้องการสำหรับการทำงานกับ Docker รวมถึง: Docker Engine : ซึ่งเป็นหัวใจหลักของ Docker ที่ใช้ในการสร้างและรัน container Docker CLI (Command Line Interface) : เครื่องมือสำหรับการจัดการ Docker ผ่านคำสั่งใน terminal หรือ command prompt Docker Compose : เครื่องมือสำหรับการจัดการ container หลายตัวพร้อมกันด้วยไฟล์ docker-compose.yml Docker Dashboard : อินเตอร์เฟซแบบกราฟิกที่ช่วยให้คุณสามารถดูและจัดการ container, image, network, และ volume ได้อย่างง่ายดายโดยไม่ต้องใช้คำสั่ง Kubernetes (เป็นทางเลือก): สำหรับผู้ที่ต้องการทดสอบหรือพัฒนาแอปพลิเคชันบน Kubernetes, Docker Desktop มี Kubernetes cluster ในตัวที่สามารถเปิดใช้งานได้จากการตั้งค่า คุณสมบัติหลักของ Docker Desktop การติดตั้งง่าย : Docker Desktop มีตัวติดตั้งที่ออกแบบมาให้ใช้งานได้ง่าย โดยไม่จำเป็นต้องติดตั้งส่วนประกอบเพิ่มเติมหลายๆ ส่วนด้วยตนเอง การอัพเ...

ปัญหากวนใจเครื่องปริ้น ปริ้นไม่ออก และวิธีแก้ไข

  ปัญหากวนใจเครื่องปริ้น ปริ้นไม่ออก และวิธีแก้ไข เครื่องปริ้นพิมพ์ไม่ออก ปัญหาโลกแตกที่ผู้ใช้งานเครื่องพิมพ์พบเจอกันเป็นประจำ เพราะเราใช้เครื่องปริ้นในการทำงานทั้งในสำนักงาน ห้างร้านต่างๆ รวมถึงที่บ้านก็เช่นกัน ซึ่งปัญหาเครื่องปริ้นท์ใช้งานไม่ได้ เครื่องปริ้นพิมพ์ไม่ออก อาจเกิดได้จากหลายสาเหตุ ทั้งปัญหาทางฮาร์ดแวร์ ซอฟต์แวร์ หรือการติดตั้ง รวม ถึงการใช้งานที่ไม่ถูกต้องด้วย เมื่อเกิดปัญหาขึ้น จึงจำเป็นต้องหาสาเหตุให้เจอ เพื่อจะสามารถแก้ไขได้ตรงจุด บทความนี้ TechSpace ได้รวบรวมวิธีการแก้ไขปัญหาเมื่อเครื่องปริ้นไม่สามารถพิมพ์ได้ เพื่อเป็นแนวทางให้ผู้ใช้งานสามารถแก้ไขปัญหาเหล่านี้ด้วยตัวเองได้ 1. ปริ้นไม่ออกเนื่องจากกระดาษติด (Paper Jam) หากเครื่องปริ้นท์เตือนว่ามีกระดาษติด สิ่งที่ต้องทำคือตรวจสอบว่ากระดาษอยู่ในตำแหน่งที่ถูกต้องหรือไม่ ปกติแล้วการนำกระดาษออกจากเครื่องแล้วเรียงใหม่จะช่วยแก้ปัญหานี้ได้ และอย่าลืมดูจำนวนกระดาษให้มีความจุที่เหมาะสมกับถาดกระดาษ เพราะถาดกระดาษของเครื่องปริ้นท์แต่ละเครื่องถูกออกแบบมาเพื่อรองรับความจุกระดาษอย่างจำกัด 2. ไดร์เวอร์เครื่องปริ้นมีปัญหา ไดร์เวอร์เ...

การจองห้องโสตทัศนศึกษาและห้องประชุม (สำหรับบุคลากรสำนักหอสมุดกลาง)

การใช้งานระบบการจองห้องโสตทัศนศึกษาและห้องประชุมออนไลน์ (สำหรับบุคลากรสำนักหอสมุดกลาง)  ขั้นตอนเข้าใช้งานระบบการจองห้องโสตทัศนศึกษาและห้องประชุมแบบออนไลน์ ดังนี้ 1 .       1.   เข้าระบบ Back office  ของสำนักหอสมุดกลาง จากเวปไซต์ http://library.kmutnb.ac.th/th/ 2.   จากหน้า Home ของ Back Office หรือเข้าผ่าน http:// 202.28.17.23/ backoffices/ เลือกระบบงานภายใน 3.                      3.   เลือกหัวข้อ ระบบจองห้องประชุมต่าง ๆ 4.        เข้าสู่ระบบเพื่อจองห้องประชุมออนไลน์  และตรวจสอบวันเวลาในการใช้ห้องโสตทัศนศึกษา/ห้องประชุม ว่าตรงกับผู้ใช้รายอื่นหรือไม่ 5.        บันทึกรายการจอง ลงรายละเอียด วัน เวลา ที่ต้องการจองห้องโสตทัศนศึกษา/ห้องประชุม โดยมีรายละเอียดสำหรับห้องโสตทัศนศึกษาเพิ่มเติม ทั้งชื่อห้อง สถานที่ตั้ง ความจุที่นั่งภายในห้องสูงสุด ผู้ใช้บริการสามารถระบุความต้องการด้านที่นั่งว่าต้องการห้องประชุมร...