1

我开发了用户之间的 jquery 实时聊天。

我想知道我计划的心跳是节省资源还是浪费很多?

这是心跳代码:

function chatheartbeat(){
    var dataString = 'action=chatheartbeat';
    $.ajax({
        url: "../chat.php",
        type: "POST",
        data: dataString,
        success: function(items){
            if(items != 0){
                $.each(items, function (i, elem) {
                    if ($("#chat_"+elem.from).length > 0) {
                    $("#chat_"+elem.from+" .chatmessege").append('<div class="chatboxmessagehead"><span>'+elem.from+':</span><a>'+elem.timee+'</a></div><br><div class="chatboxmessage">'+elem.msg+'</div>');
                    $("#chat_"+elem.from+" .chatmessege").scrollTop($("#chat_"+elem.from+" .chatmessege")[0].scrollHeight);
                    }else{
                    startchat(elem.from);
                    }
                });
            }
        }
    });
    setTimeout('chatheartbeat();',2000);
}
4

2 回答 2

0

通过简单的 ajax 和 php 开发实时聊天并不是要走的路。您必须使用 node.js 才能实现实时聊天系统。脸书正在使用它。

常规 ajax 和 php 的问题是您必须每 2 或 3 秒查询一次服务器以检查是否有可用的新数据,这会给服务器带来过多的负载。

Node.js 是要走的路。

于 2013-03-01T17:47:29.913 回答
0

真的取决于您正在处理的用户数量以及您希望它快多少。发出从数据库中获取数据的 AJAX 请求通常被认为太过分了。您应该在一个呼叫和另一个呼叫之间至少间隔 5 秒,这显然取决于您的服务器速度和用户容量。

于 2013-03-01T17:43:18.837 回答