🚀Websocket

Protocol คือ ข้อกำหนด หรือข้อตกลง ในการสื่อสารกันระหว่างคอมพิวเตอร์

websocket vs http

Websocket คือ เป็น Protocol ตัวนึง ซึ่งมันจะทำให้ Clinet และ Server สามารถที่จะสื่อสารกันได้ โดยที่ Client ไม่จำเป็นต้อง Request มาก่อน ดังนั้น Server จึงสามารถส่งข้อมูลไปหา Client (User) ได้เลยทันที

สั้นๆ

  • เป็น Protocol ตัวนึง ***** (ขอย้ำว่ามันคือ Protocol)

  • ทำงานอยู่บน Socket ที่เป็น Connection แบบ TCP (Transmission Control Protocol)

  • นิยมนำมาใช้กับระบบที่ต้องการการอัพเดทข้อมูลแบบ Realtime เช่น ระบบ Chat, ระบบ Notification, ระบบหุ้น, Game, Developer Tools และอื่น ๆ

หมายเหตุ

  • Protocol คือ ข้อกำหนด หรือข้อตกลง ในการสื่อสารกันระหว่างคอมพิวเตอร์

  • TCP (Transmission Control Protocol) เป็น Protocol ควบคุมการรับส่งข้อมูลระหว่าง Network เพื่อใช้แลกเปลี่ยนข้อมูลระหว่างกัน โดยจะรับประกันความถูกต้อง และลำดับของข้อมูลที่ถูกส่ง

WebSocket Handshake

การ Handshake มี 2 ขั้นตอน คือ

  1. Client ทำการส่ง Handshake Request มาที่ WebSocket Server

  2. WebSocket Server ตรวจสอบข้อมูล และตอบ Handshake Response กลับไป

ถ้าการ Handshake ถูกต้อง สมบูรณ์ จึงค่อยเริ่มแลกเปลี่ยนข้อมูลกัน

Socket.io คืออะไร?

Socket.io เป็น JavaScript frameworks ที่เอาไว้เรียกใช้งาน Websocket เพื่อคอยรับส่งข้อมูลจาก client-browser และ server และทำงานในแบบ Real-time และ สื่อสารกันแบบ event-based จุดนี้แหละสำคัญที่ทำให้การใช้ Socket.IO เหนือกว่า WebSocket ธรรมดา เพราะมันสร้างสิ่งเหล่านี้ ที่เราจำเป็นต้องใช้มาให้แล้ว โดยที่เราไม่ต้องมาเขียนเอง

อธิบายเรื่อง event-based ใน Socket.io

เรานั้นจะสามารถทำการ emit หรือส่งข้อมูลของเราไปยังเซิฟเวอร์ได้ โดยจะสามารถกำหนด event ไปด้วย เช่น emit(“chat message”, “Hi Adam!”) ก็จะสามารถแยกแยะได้ว่า มี event “chat message” ส่งเข้ามา มีข้อมูลคือ “Hi Adam!” และใครที่เป็น Listener ที่กำลังฟัง event นี้อยู่ก็จะได้รับข้อมูลนั้นๆไป

Last updated