我在用户之间开发了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);
}
答案 0 :(得分:0)
真正取决于您正在处理的用户数量以及您希望它快速增加多少。 发出从数据库中获取数据的AJAX请求通常被认为太过分了。您应该在呼叫与其他呼叫之间至少 5秒的时间内使用,这显然取决于您的服务器速度和用户容量。
答案 1 :(得分:0)
通过简单的ajax和php开发实时聊天是不可取的。 您必须使用node.js才能实现实时聊天系统。 facebook正在使用它。
常规ajax和php的问题是你必须每隔2或3秒查询一次服务器,以检查新数据是否可用,并且这会给服务器带来太多负担。
Node.js是要走的路。