Long Polling คืออะไร?
รูปแบบของเทคนิคการสำรวจความคิดเห็นแบบดั้งเดิมและอนุญาตให้จำลองการส่งข้อมูลจากเซิร์ฟเวอร์ไปยังไคลเอนต์ ด้วยการสำรวจความคิดเห็นแบบยาวไคลเอนต์จะร้องขอข้อมูลจากเซิร์ฟเวอร์ในลักษณะเดียวกับการสำรวจความคิดเห็นปกติ
- หากเซิร์ฟเวอร์ไม่มีข้อมูลใด ๆ สำหรับไคลเอ็นต์แทนที่จะส่งการตอบกลับที่ว่างเปล่าเซิร์ฟเวอร์จะเก็บคำขอและรอให้มีข้อมูลบางอย่าง
เมื่อข้อมูลพร้อมใช้งาน (หรือหลังจากหมดเวลาที่เหมาะสม) การตอบกลับทั้งหมดจะถูกส่งไปยังไคลเอนต์ โดยปกติไคลเอนต์จะร้องขอข้อมูลอีกครั้งจากเซิร์ฟเวอร์ทันทีดังนั้นเซิร์ฟเวอร์เกือบตลอดเวลาจะมีคำขอรอที่พร้อมใช้งานซึ่งสามารถใช้เพื่อส่งข้อมูลเพื่อตอบสนองต่อเหตุการณ์ได้
ในบริบทของเว็บ / AJAX การสำรวจแบบยาวเรียกอีกอย่างว่าการเขียนโปรแกรมดาวหาง
แล้ว Websockets ล่ะ?
WebSockets ให้การเชื่อมต่อแบบต่อเนื่องระหว่างไคลเอนต์และเซิร์ฟเวอร์ที่ทั้งสองฝ่ายสามารถใช้เพื่อเริ่มส่งข้อมูลได้ตลอดเวลา
- ไคลเอนต์สร้างการเชื่อมต่อ WebSocket ผ่านกระบวนการที่เรียกว่า WebSocket handshake กระบวนการนี้เริ่มต้นด้วยไคลเอนต์ส่งคำขอ HTTP ปกติไปยังเซิร์ฟเวอร์
- ส่วนหัวของการอัพเกรดรวมอยู่ในคำร้องขอนี้ซึ่งแจ้งเซิร์ฟเวอร์ว่าไคลเอนต์ต้องการสร้างการเชื่อมต่อ WebSocket
สรุป :
หากจำเป็นต้องมีการสื่อสารแบบเรียลไทม์คุณสามารถเลือกใช้ websockets ได้เป็นอย่างดี
แต่ใน Long Polling:
การเชื่อมต่อจะเปิดขึ้นระหว่างเว็บไคลเอ็นต์และเว็บเซิร์ฟเวอร์เพื่อให้เมื่อเซิร์ฟเวอร์มีข้อมูลใหม่ก็สามารถส่งไปยังไคลเอนต์ได้ คำขอนั้นจะเสร็จสิ้น จากนั้นจะมีการร้องขอใหม่ระหว่างไคลเอนต์และเซิร์ฟเวอร์จากนั้นรอการอัปเดตอื่นจากเซิร์ฟเวอร์ โดยทั่วไปการเชื่อมต่อ TCP เดียวกันจะเปิดอย่างต่อเนื่องตลอดการร้องขอหลายครั้งเนื่องจาก HTTP / 1.1 keep-alives
การอ้างอิงและการพิจารณาอื่น ๆ :
PubNub Long Polling vs Sockets - อายุการใช้งานแบตเตอรี่มือถือ
Long-Polling, Websockets, Server-Sent Events (SSE) และ Comet คืออะไร?
การสำรวจระยะยาวในวัตถุประสงค์ -C
แนะนำ Websocket
Websocket Vs Long Polling
การใช้ Websockets ในแอพ
แอปพลิเคชัน Websocket
PushTechnology-Long Polling