2017-04-14 9 views
1

私はAjaxを初めて使い、この方法がチャットアプリケーションを作成するのに十分かどうか疑問に思っていました。私の質問はこれです:Ajax + php + mysqlにはパフォーマンス上の問題がありますか?それは遅れますか?規模を拡大できますか?Ajax、php、mysql chat

「getchat.php」に続いAJAX一部だと
 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); 

私はデータベースを照会する場所です:

は、ここに私のコードです。

私はこれにかなり新しいです。どんな指導もいただければ幸いです!

mysqlの行は次のようになります。 John - Hallo、Bob!

ボブ - ジョン、あなたはアヤックスを理解していない!

+0

コメントとして質問情報を追加しないでください。あなたの質問を編集し、あなたのコメントを削除してください。 – mickmackusa

答えて

0

あなたの意志は、サーバから他のクライアントに配信されるメッセージのために彗星のサーバーを使用する必要があります。

あなたの試合では、1秒あたりのサーバーへのクエリが多すぎます。そして、ユーザーは300ミリ秒の間隔でメッセージを受信しますが、もしあなたがコメットサーバーを使用するなら、ユーザーはすぐにメッセージを受信します。

あなたはPHP共有ホスティングまたは小規模なvpsでオンラインで10人または20人のユーザーのパフォーマンスに問題が発生します。

例えば、this tutorialは、CppCometをPHPで使用することができます。

CppCometはウェブサイト経由で永続的な接続をjavascriptでインストールします。また、他のユーザーにメッセージを送信する必要がある場合は、PHPコードからapiを使用してCppCometにリクエストを送信できます。

関連する問題