1

私は自分の Web サイト用の単純な Web チャット アプリケーションに取り組んでいます。しかし、私にとっては、間隔を使用して毎秒 ajax でチャットを要求するのは間違っていると思いますか?

私が今日やっていることは、これです。

<script>

    $(function() {

        $('#chat_form').submit(function() {
            $.post('chat/post', $('#chat_form').serialize(), function(data){
                var message = $("#message").val();
                $("#message").val('');
                $("#chat_main").append('<li><b>Bruker: <?php echo " ".$this->session->userdata("chat_username") ?></b>: ' + message + '<br/></li>');
            });
            return false;
        });

        function loadchat()
        {
            $('#chat_main').load('chat/load');
        }

        setInterval(loadchat, 500);
        loadchat();

});

</script> 

他に良い方法はありますか?

4

3 に答える 3

1

同じことを許可するサーバー側イベントを使用できますが、データが変更されたときにデータをブラウザーに送信するため、ユーザーは変更が行われたかどうかを常に確認する必要がありません。

于 2012-12-07T12:03:21.743 に答える
0

これは、チャットアプリケーションと、jQueryを使用してcometを実装するための最良の方法に関する非常に優れた記事です。

それは私のために働きます。

タイムスタンプで動作するため、完璧にするために必要なハックはほとんどありません。マシンの日付を変更すると、実行に失敗しますが、サーバーでは正常に動作します。

良い習慣であるxmlを使用してテキストファイルの実装を置き換えます。

于 2012-12-07T12:34:37.167 に答える
0

私はこれを数回書きました。DB からのポーリングによる Ajax チャットは、実際にはリアルタイムのチャットではありません。そうです、間隔を使用してデータをポーリングするのは最悪です。とにかく、これは解決策です(唯一の本当の解決策)。

この本を読む必要があります。jabber サーバーをお持ちでない場合は、私のサーバーへのアクセスを提供します (ユーザー登録の更新など)。本を読んでから連絡してください。XMPP + Strophe ライブラリ チャット (Google や Facebook が使用しているもの) です。ですから、最初からやり直して何か新しいことを学ぶ方が良いです!

于 2012-12-07T12:59:31.220 に答える