คืออะไร WebSocket
การเชื่อมต่อแบบสองทางระหว่างเบราว์เซอร์และเซิร์ฟเวอร์
WebSocket คือโปรโตคอลการสื่อสารที่ให้การเชื่อมต่อแบบสองทางอย่างต่อเนื่องระหว่างไคลเอนต์และเซิร์ฟเวอร์แบบเรียลไทม์
หลักการทำงาน
- Handshake — การจับมือ HTTP เริ่มต้น
- Upgrade — สลับไปยังโปรโตคอล WebSocket
- Full-duplex — ส่งข้อมูลพร้อมกันทั้งสองทาง
- การเชื่อมต่อถาวร — ไม่ต้องเชื่อมต่อซ้ำ
ข้อดีเหนือ HTTP
- ส่งข้อความทันที
- ค่าใช้จ่ายน้อยที่สุด
- ไม่ต้อง polling
- ความหน่วงต่ำ
การใช้งาน
- แชทและแอปส่งข้อความ
- เกมออนไลน์
- ราคาหุ้น
- การแก้ไขร่วมกัน
- อุปกรณ์ IoT
เทคโนโลยี
- Socket.IO (Node.js)
- ws (Node.js native)
- SignalR (.NET)
- Django Channels
ตัวอย่าง
const ws = new WebSocket('wss://api.example.com');
ws.onmessage = (event) => {
console.log(event.data);
};
ws.send('Hello Server!');