1

私はしばらくの間、チャットプログラムをいじっています。

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 についてよく理解しています。コードが欲しいだけです。

4

1 に答える 1

0

私は、長いポーリングのPHPとApacheの実行可能なソリューションを見つけました。そしてそれは魅力です。

http://www.zeitoun.net/articles/comet_and_php/start

私がしなければならなかったset_time_limit(0);のはbackend.phpにあることだけで、すべてが本来あるべき姿です。

于 2012-08-13T19:59:37.703 に答える