簡體   English   中英

Ajax,php,mysql聊天

[英]Ajax, php, mysql chat

我是Ajax的新手,並且想知道這種方法是否足以創建聊天應用程序。 我的問題是:如果我要說一百萬用戶,Ajax + php + mysql是否會出現性能問題? 它會滯后嗎? 我可以擴展嗎?

這是我的代碼:

     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!

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

對於像實時聊天這樣的事情,Ajax方法非常糟糕。 你的PHP腳本將被頻繁調用,它將是非常重的超載..

出於您的目的,我會推薦WebSocket。

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications

您需要使用彗星服務器將服務器發送的消息發送給其他客戶端。

在您的rialization中,每秒對服務器的查詢過多。 用戶將收到間隔為300毫秒的消息,但如果您將使用彗星服務器,將立即收到用戶的消息。

您將在php共享主機或小型vps中在10或20個用戶的在線性能上遇到問題。

例如,您可以使用本教程關於在PHP中使用CppComet

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM