gpt4 book ai didi

ajax - 走出这个世界 Comet 编程和基于网络的聊天

转载 作者:行者123 更新时间:2023-12-04 01:06:32 25 4
gpt4 key购买 nike

当前项目设置

我一直在研究基于网络的聊天,类似于 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 连接?

最佳答案

Here's使用 node.js 的聊天室示例,源代码 here .

我相信客户端使用轮询,但这个例子很有趣,因为服务器端也在 JS 中,并且 node.js 对这种类型的东西很有效。

关于ajax - 走出这个世界 Comet 编程和基于网络的聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com