什么是Comet
Comet, 据IBM 这篇文章介绍,是基于HTTP 长连接的“服务器推”技术。 和AJAX 类似, 这是一种改善WEB 用户体验的通讯技术。 其实早在CGI 盛行的时代, 有种叫做”Server-Push”的技术, 和Comet 本质是一回事, 都是基于长连接来实现。 Server-Push 更具体, 强调使用multipart/x-mixed-replace 的Conent-Type 技巧, 使得服务器能替换浏览器的内容。 Comet 包含面更广泛, 只要是有长连接和HTTP chunked 的实现, 都算作其中。 这篇文章详细介绍了Comet 的各种形态,值得一读。
Comet 虽然能让浏览器达到及时的响应, 但是由于基于长连接实现, 服务器成本很高。 最近这种技术之所以火起来, 主要还是牛人们探索到了各种降低服务器成本的方法。 这个叫amix 的家伙对此有较多的研究。
什么是NodeJs
nodejs 号称Evented I/O for V8 JavaScript, 是基于V8 的一款神器, 让我们可以使用javascript轻松进行服务器端编程。
最简单的Comet 原型
我用一下午的时间, 使用nodejs 搞了一个简单的不能再简单的Comet 原型。 在这个demo 里面, 我假定使用iframe 实现Comet, 但是忽略了iframe 的父窗口和客户端js 库, 只考虑服务器如何将HTTP chunked push 到客户端.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !