4

このスタックオーバーフローサイトの更新メッセージがどのように実装されているか知りたいです。

より正確に言うと、たとえば、質問に返信しようとしていて、回答を入力している最中に、新しい回答が追加されたことを示すメッセージがページの上部に表示されます。この機能はどのように実装されていますか。

AFAIK、可能な方法はHTML5WebSocketまたはserversocketテクノロジーです。特にjava、spring、jquery環境を使用してこの種のプッシュ通知システムを実現する他の方法はありますか?

この質問にタグを付ける方法がわかりません。私が間違っている場合はタグを修正してください。

4

3 に答える 3

6

SOは、リバースajax/cometテクノロジーを使用してこれらのメッセージを表示します。この機能に関するメタに関するいくつかの議論を読んだことを覚えていますが、現時点ではそのリンクを正確に見つけることができませんでした。見つけたらすぐに更新します。

プログラミング言語に基づいて、フレームワーク名は変更される可能性があります(websockets(または)socket.ioなど)が、最終的にはすべて彗星フレームワークからのものです。

アップデート:

これがこのトピックに関するSOメタディスカッションです。

于 2012-10-09T14:26:27.207 に答える
2

私はDirectWebRemotingフレームワークを使用して成功しました。(DWR)。

于 2012-10-09T14:29:40.227 に答える
2

これを実現するには、いくつかの方法があります。

  • ポーリング:JQueryを使用して、サーバーから更新を取得するリクエストを定期的に(たとえば、5秒ごとに)発行します。
  • ストリーミング:リクエストを発行すると、サーバーはContent-Lengthをレスポンスに設定せず、ソケットを「決して」閉じません。このようにして、いつでもサーバーからクライアントにデータを送信できます。ただし、これは、すべてのクライアントについて、サーバーによって接続が保持されていることを意味します。
  • 長いポーリング:前の2つの方法を混ぜ合わせます。接続はサーバーによって保持されますが、タイムアウトが発生します。新しいデータが利用できない場合、サーバーは接続を閉じ、クライアントはしばらくして新しいデータを再度開きます。

それらはプッシュテクノロジーです:http://en.wikipedia.org/wiki/Push_technology

もちろん、それを達成する方法はたくさんあります。

于 2012-10-09T14:33:22.973 に答える