当前项目设置
我一直在研究基于网络的聊天,类似于 Facebook 聊天。在当前状态下,我监听传入聊天并检查现有聊天中的新消息是通过执行...
setTimeout(function() { listenForIncomingChat() }, 500);
setTimeout(function() { checkForIncomingMessages( ...params... ) }, 500);
... 这样做
setTimeout()
确保这些功能始终在运行。取决于我打开了多少聊天窗口,Firebug 的控制台可能会因为 POST
而变得疯狂。 s 到服务器:)显然,这确实效率低下,但这是我使事情正常进行的唯一方法。现在我正在寻找使它变得更好的方法,正确地做到这一点!
有些研究
现在,我听说了 Comet Programming并且这是打开与服务器的长期 HTTP 连接的方式,但我不熟悉 Comet 背后的技术或想法。 WebSockets对于 HTML5 可能会更好,但由于这不是全面展开,也不是所有浏览器都支持,我将坚持使用有效的方法。
根据维基百科,使用 Comet 风格开发有几种方法:Streaming(隐藏 iFrame,XMLHttpRequest)或 AJAX 和长轮询(XMLHttpRequest,Script 标签)。但是,我对此一无所知。我也读过 AJAX Push Engine (APE)看起来很酷,但我暂时不想使用第三方。
我最近偶然发现了 WebChat 2.0所以我将查看源代码以尝试了解它是如何工作的。
关于问题
那么我在哪里可以找到有关如何开始此类项目的示例代码/教程?我将如何实现 cometd 技术?如何设置与服务器的长期 HTTP 连接?
最佳答案
关于ajax - 走出这个世界 Comet 编程和基于网络的聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214877/