views:

70

answers:

2

Six Apart has this neat service that streams out LiveJournal, Vox, etc. updates:

http://www.sixapart.com/labs/update/developers/

It also has the interesting ability to know if the client has missed parts of the feed. I've tinkered with writing a similar service for myself, and while I've gotten it to stream okay, I'm ashamed to admit that I not only lack the know-how to check the client but also I lack the proper knowledge to search for how it works.

Could someone tell me what keywords I should use or point me at a tutorial to learn how a streaming web server can know the status of the client? It may be the case that I'm just misthinking that a browser acts more like a UDP client than TCP in this instance, but any suggestions or explanations would be welcome. Thanks!

+1  A: 

Looks like you might be interested in 'Comet' HTTP streaming. Basically the server keeps the connection open to the browser, pushing data (XML, JSON, etc.) to the browser when necessary.

For a Comet server you can check out cometd, which provides Comet implementations for a few languages. Orbited is another server that can do real-time HTTP streaming, written in Python / Twisted.

lost-theory
Thanks! I'll be sure to check those out in my research.
AndyB
+1  A: 

A lot of our infrastructure code is opensource:

Check the plugin that does it all: http://code.sixapart.com/svn/perlbal/trunk/lib/Perlbal/Plugin/AtomStream.pm

Cheers

Yann
THANK YOU! I didn't even consider that was open source.
AndyB