开发者

what comet technique is this demo using?

开发者 https://www.devze.com 2022-12-15 20:03 出处:网络
what they do on this demo is exactly what i wanna do. http://www.lightstreamer.com/demo/RoundTripDemo/

what they do on this demo is exactly what i wanna do.

http://www.lightstreamer.com/demo/RoundTripDemo/

i wonder what comet technique they are开发者_StackOverflow中文版 using.

it cant be iframe cause on Firefox i can open two tabs with same link. with iframe u cant do that. and it cant be long polling with ajax cause i didnt see it polled anything with firebug.

someone knows the answer? (would be great with some link to good tutorials that do exactly the same thing with same technique).


Whilst digging through the obfuscated scripts is not something I fancy right now, judging by the contents of the page DOM it is posting data from a <form> inside a hidden <iframe> to send data to the server, and having the server send back <script> tags with code to pass data back to the caller.

This is a rather heavyweight and obtrusive technique. It was the only way of doing in-page server communication in the days before XMLHttpRequest existed; I typically wouldn't use it today.

(I wish WebSocket would hurry up and get implemented, doing away with all the long-polling nastiness.)


Looks like several techniques developed by Lightstream which include "vanilla" comet. A brief excerpt from the Lightstreamer white paper:

Each Lightstreamer client typically opens a single permanent connection with Lightstreamer Server, on which the push updates relating to an arbitrary number of items, frames and windows travel by means of multiplexing techniques.

The white paper and demos are very interesting...


Once I developed a module for the Lighttpd web server. The module implemented a Full Duplex Ajax technique, very similar to Comet. In my blog posts you'll find everything you need about FDAjax / Comet, JavaScript examples, problems with firewalls and anti-virus programs, etc.

Lighttpd project seems to be dead. As far I know there is a similar module for the popular nginx. However in future we'll use web sockets.

BTW I used few HTTP addresses (www1.example.com, www2.example.com, ...) to work around the browsers limit of max two IP concurrent connections to the same web server. www[n] were in fact resolved to the same IP address. In case of possible lockup, a browser was automatically redirected to the next www[n] address.

0

精彩评论

暂无评论...
验证码 换一张
取 消