私は ajax ベースのチャットを書こうとしています。チャット ボックスを更新する最良の方法は何ですか? いくつかの可能性があることはわかっていますが、チャットに最も適しているのはどれですか?
追加: 未読のテキストを再読み込みすることは可能ですか? 誰かがテキストを書いた場合、コンテンツ全体を更新する必要はありません。新しいメッセージで十分です。しかし、それは ajax と php で実行できますか? どうすればできるのかわかりません。だから私はチップさえも感謝します...ありがとう!
更新の頻度と更新されるコンテンツの範囲は独立しています。AJAX を使用すると、(タイムスタンプに基づいて) 新しいメッセージが到着したかどうかをサーバーに問い合わせて、既に表示されているコンテンツにメッセージのみを追加できます。ページ全体をリロードする必要はありません。
「定期的な更新」については、短いポーリングまたは長いポーリングのいずれかを使用できます。「定期的な更新」によって、短いポーリングを参照できると思います。これは基本的にタイマーです。たとえば、サーバーが JavaScript によってポーリングされるたびに、表示される新しいデータがあるかどうかを確認します。はいの場合は送信し、そうでない場合は、新しいコンテンツがないことを示すメッセージで応答します。
長いポーリングの間、サーバーはポーリングされ、新しいコンテンツがある場合はそれを提供します。ただし、新しいコンテンツがない場合は、「新しいコンテンツはありません」とすぐに応答する代わりに、接続を開いたままにして、送信するものがあるときに応答します。これはいくつかの異なる方法で実現でき、理論的にはより良い応答時間を提供しますが、実際には、特定の方法で実装されている場合、タイムアウトまたはサーバーでの大量のリソース使用が発生する可能性があります。
ここで長いポーリングの例を見ることができます: http://www.screenr.com/SNH