2

全部。我有一个带有小聊天室的网站,我的用户越来越多地占用我的带宽,在搜索了一些奇迹之后,我终于找到了一些性感的东西:)据我所知,长轮询,

这是一种简单的方法,可以使服务器/客户端之间的连接保持较长时间的 UN-interapted,并通过这样做将继续请求的需求减少 90%。

现在,我可能是错的。但是,这个“简单”的东西是如何创造出来的。下面,您可以看到我的聊天脚本,它是根据使用 Jquery 的教程创建的。它工作正常,但它没有长轮询功能。

这是PHPJavascript代码(我不能在这里粘贴它们,因为它们太长了)。

现在,问题是如何将长轮询脚本注入到我已经构建的代码中?

4

1 回答 1

1

我还没有阅读您的代码,但这里有一个小例子:

function waitForNotification() {
    $.ajax(url, {
        timeout: 60000,
        success: function(e) {
            //do want you want with e
            //and call function again:
            waitForNotification();
        }
    });
}

在服务器端,您需要收集所有 ajax (on url) 请求,并仅在发布新消息时才释放响应。显然,服务器端方法更难实现,并且完全取决于您的服务器架构(您可以使用 COMET 实现)。

m如果您自己实现它,请小心,实际上可能会在客户端处理事件时发布一条新消息success(并错过m通知)。

根据需要配置您的 ajax 请求(处理其他事件)。

有趣的:

于 2013-03-03T01:16:24.723 回答