使用AJAX(PHP和JQuery)聊天心跳

时间:2013-03-01 17:30:52

标签: php javascript jquery ajax

我在用户之间开发了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);
}

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

通过简单的ajax和php开发实时聊天是不可取的。 您必须使用node.js才能实现实时聊天系统。 facebook正在使用它。

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

Node.js是要走的路。