私はしばらくの間、チャットプログラムをいじっています。
AJAX でのポーリングは成功していますが、サーバーに毎秒リクエストを送信します。これは私にはコストが高すぎるように思えます。
ロングポーリングは失敗しました。サーバー (Apache) でロング ポーリング リクエストを実行できることがわかりましたが、ロング ポーリング リクエストを実行すると、Web ページの残りの部分が「無効」にレンダリングされます。テキスト ボックスをクリックしたり、入力したりできません。
これは、他のサーバー タイプとは異なり、Apache がロング ポーリング リクエストに複数のスレッドを使用するため、多くのリソースを消費するためであることがわかりました。
私の質問:
1.ロングポーリングなしで同じ「インスタントメッセージ機能」を作成するにはどうすればよいですか (または、Apache でロングポーリングを機能的かつ正常に実行するにはどうすればよいですか?)。が必要だ
When (someone sends a message and thus a file on server changes) {send data to all users;},
簡単ですよね?
Facebook がクライアントに対して (Firebug で) ロング ポーリングを行っていることに気付きましたが、Gmail チャットはそうではなく、同じ機能を備えているようです?!
2.Gmail チャットはどのように行うのですか?
Comet に関するwikiとこの記事を読み、講演者が PHP/JS でこれを行うことができると言っている有益なビデオを見ました。また、IDEA についてよく理解しています。コードが欲しいだけです。