2

all. I have a site with a small chatroom, and my users are increasingly eating my bandwidth, and after having searched for some miracle, I finally stumped onto something sexy:) called, Long Polling from what I understand,

it is a simple method that is supposed to keep the connection betwe en server/client UN-interapted for a longer period of time, and by doing so reduces the need for continues requests by 90%.

Now, I could be wrong. but, how is this "Simple" thing created. Below, you can see my chat script, I created from a tutorial using Jquery. It works fine, but it is without longpolling capabilities.

Here is the PHP and Javascript code (I can't paste them here, as they are too long).

Now, the question is how do I inject the long poll script into my already built codes?

4

1 に答える 1

1

私はあなたのコードを読んでいませんが、ここに小さな例があります:

function waitForNotification() {
    $.ajax(url, {
        timeout: 60000,
        success: function(e) {
            //do want you want with e
            //and call function again:
            waitForNotification();
        }
    });
}

サーバー側では、すべてのajax(on url)要求を収集し、新しいメッセージが投稿されたときにのみ応答を解放する必要があります。明らかに、サーバー側の方法は実装が難しく、サーバーアーキテクチャに完全に依存します(COMET実装を使用できます)。

自分で実装する場合は注意が必要です。実際、クライアントがイベントを処理している間(および通知を見逃しているm間)に新しいメッセージが投稿される可能性があります。successm

必要に応じてajaxリクエストを構成します(他のイベントを処理します)。

面白い:

于 2013-03-03T01:16:24.723 に答える