2017-04-14 62 views
1

我是Ajax新手,想知道這個方法是否足夠創建一個聊天應用程序。我的問題是這樣的:如果我能讓一百萬用戶說出Ajax + php + mysql會有性能問題嗎?它會滯後嗎?我可以擴展嗎?Ajax,php,mysql chat

這裏是我的代碼:

 var inty = setInterval(function() 
    { 

    var qt = document.getElementById("friend_name_goes_here").innerHTML; 
    xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("chat_div").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("GET", "getchat.php?q="+qt+"&w="+me_name, true); 
    xhttp.send(); 
    //console.log(qt); 
}, 300); 

那是AJAX部分,然後在「getchat.php」就是在那裏我會查詢數據庫。

我對此非常陌生。任何指導將不勝感激!

mysql行看起來像這樣: John - Hallo,Bob!

鮑勃 - 約翰,你不明白阿賈克斯!

+0

不要將問題信息添加爲註釋。編輯你的問題,然後刪除你的評論。 – mickmackusa

回答

0

你需要使用彗星服務器,從服務器到其他客戶端傳遞的消息。

在你的rialization中,每秒服務器查詢次數太多。用戶將收到間隔爲300毫秒的消息,但如果您使用慧星服務器,用戶將立即收到消息。

您將在10或20位用戶在線共享主機或小vps的性能出現問題。

例如,您可以使用this tutorial關於使用CppComet和php。

CppComet將通過使用javascript的websockets安裝持久連接。當你需要發送任何消息給其他用戶時,你可以使用php代碼中的api向CppComet發送請求。