像facebook一样使用ajax聊天应用程序

时间:2015-10-09 07:30:05

标签: ajax

我想开发像facebook这样的聊天应用程序。我这样做了,现在它工作正常。我使用ajax来继续保存和检索数据的服务器请求。一个函数每10秒调用一次:

// Load  message
(function loadClient() {
    $.ajax({
        type: 'POST',
        data: 'c_id=' + $.cookie("c_id") + '&offset=' + $('#c_name_msgHead').data('offset'), //'foo='+ bar+'&calibri='+ nolibri,
        dataType: 'json',
        url: $("#webroot").text() + 'chats/loadMsg',
        success: function (data) {
            var id =0;
              if ($.cookie("status") == "active"){

            $.each(data, function (i, item) {

                    if(item.Chat.status == 'active'){
                        $('.temp_msg').remove();
                    }

                    if (!$('#' + item.Chat.id)[0]) {
                        if (item.Chat.admin_message) {
                            $('<div class="msg_b" id="' + item.Chat.id + '">' + item.Chat.admin_message + '</div>').insertBefore('.client_area .msg_push');
                        }
                        if (item.Chat.client_message) {
                            $('<div class="msg_a" id="' + item.Chat.id + '">' + item.Chat.client_message + '</div>').insertBefore('.client_area .msg_push');
                        }
                        $('.msg_body').scrollTop($('.msg_body')[0].scrollHeight);
                    }


                 id = item.Chat.id;
            });

            $('#c_name_msgHead').data('offset', id);

              } 


        },
        complete: function () {
            // Schedule the next request when the current one's complete
            setTimeout(loadClient, 3000);
        }
    });
})();
// END load message

10秒后加载更新数据。现在如果一次有10000个用户将10000个请求发送到我的服务器,这是一个关注性能和服务器可能会发生关机。即使10000个用户没有开始聊天,也会执行10000个请求。那么我应该怎么做才能开发出这样的应用程序,它需要连续使用老虎服务器或者使用哪种技术进行Facebook聊天。任何想法将不胜感激。谢谢

0 个答案:

没有答案