59

すべての HTTP 応答は、AJAX を使用して作成されたものであっても、クライアントがそれらを開始する必要があります。しかし、GMail のチャット機能は、快適なコンピュータの椅子に座ってブラウザを操作していないときでも、他のユーザーからメッセージを受け取ることができます。彼らはどのようにそれをしましたか?

4

3 に答える 3

42

その技術は「コメット」として知られていますが、「サーバー プッシュ」、「リバース ajax」などとしても知られています。

これは、サーバーからブラウザーにデータをプッシュし、http 接続を維持することです。詳細については、ウィキペディアの記事(英語版) を参照してください。

また、DWR の Joe Walker による非常に優れたプレゼンテーション もあり、彗星について語っています。

于 2009-04-09T03:58:20.780 に答える
8

ご指摘のとおり、HTTP ではクライアントがデータを「プル」する必要があります。Gmail は、ユーザーが何かをクリックするのではなく、タイマーを使用して HTTP 操作をトリガーすることで、サーバーからデータを「引き出す」ことができます。したがって、自動のように見えるかもしれませんが、それでもクライアントが開始します。

于 2009-04-09T03:56:31.377 に答える
5

うんコメットは正しいです。RyanDewsburyによるGoogleWebToolkitアプリケーションでは、第9章でCometsベースのインスタントメッセンジャーアプリケーションを作成する方法について説明しています。

于 2009-04-09T04:06:22.507 に答える