JS: อัปเดตอัตโนมัติโดยไม่มี XHR หลายตัว

ฉันกำลังดูสิ่งต่างๆ เช่น การค้นหาแบบเรียลไทม์ของ Google (ไม่ใช่ Google Instant) และการแชทบน Facebook เป็นต้น พวกเขามีข้อมูลเกิดขึ้นอย่างต่อเนื่องแต่ในช่วงเวลาที่คาดเดาไม่ได้ อย่างไรก็ตาม ดูเหมือนว่าจะเกิดขึ้นเกือบจะในทันทีเสมอ

ฉันเคยใช้สิ่งนี้ที่ http://malachy.org.uk/stream อย่างไรก็ตาม ฉันทำไปแล้วโดยให้ XHR ตรวจสอบการอัปเดตทุกๆ สองสามวินาที ซึ่งฉันเดาว่ามันไม่ค่อยมีประสิทธิภาพ และอย่างไรก็ตาม ในขณะที่ตรวจสอบคำขอเน็ต ให้เข้าสู่ระบบ firebug บน Google เรียลไทม์ เช่น ฉันไม่เห็น XHR ปรากฏขึ้นที่ เกือบจะเป็นอัตราการโพสต์ใหม่ (แต่ในหัวข้อยอดนิยมอยู่แล้ว)

มีความคิดใด ๆ ว่าจะทำเช่นนี้?

ไชโย


person Fela Maslen    schedule 30.04.2011    source แหล่งที่มา


คำตอบ (1)


ดูที่:

เนื่องจากโปรโตคอล HTTP (ใช้งานโดย AJAX) เป็นโปรโตคอลคำขอ/ตอบกลับทั่วไป จึงไม่มีวิธีที่ง่ายในการบรรลุเป้าหมายนี้ Reverse AJAX ใช้เทคนิคที่ชาญฉลาดบางอย่าง เช่น การโพลแบบยาวว่า WebSockets จะเป็นเทคโนโลยีใหม่เอี่ยมที่ไหนสักแห่งใน HTML5 หรือไม่ ซึ่งแก้ไขปัญหานี้ได้อย่างสมบูรณ์ (แต่ยังไม่ได้รับการยอมรับและนำไปใช้อย่างดี)

วิธีแก้ปัญหาของคุณ (ถามเซิร์ฟเวอร์ทุก ๆ สองสามวินาที) เป็นวิธีที่ง่ายที่สุด แต่แนะนำให้มีการโทรผ่านเครือข่ายในปริมาณมากและบางครั้งเวลาแฝงที่ยอมรับไม่ได้

person Tomasz Nurkiewicz    schedule 30.04.2011
comment
อืม ความคิดของฉันตอนนี้คือการมี CGI หลามที่สำรวจข้อมูลใหม่และให้ข้อมูลเมื่อมีข้อมูล (เช่น การโพลแบบยาว) เหตุผลที่ฉันใช้ python ก็คือสคริปต์ PHP ที่รันระยะยาวจะใช้กระบวนการทำงานของ Apache อย่างเห็นได้ชัด - person Fela Maslen; 30.04.2011