Facebookがニュースフィードのようにブラウザにデータをプッシュする方法について私は興味があります。ページをリロードしたりボタンをクリックしたりせずに新しいデータがフィードの上部に表示される
Facebookは設定された間隔でAJAXを通じてサーバーをポーリングすることでこれを達成していますか?
もしそうなら、どのような言語やAPIを使っていますか?Facebookはどのようにデータをニュースフィードにプッシュしますか?
答えて
実際には「ロングポーリング」、つまり'comet'と呼ばれています。 server pushを実行するさまざまな方法がありますが、最も一般的な方法は、データを受信している間に接続を開いたままにすることです(ブラウザにはホストへの接続の数の制限があるため欠点があります)。 FacebookはTornado web serversをオープンソース化していました。これは多くのオープンな接続を処理できます(多くのユーザーがいて問題はありますが、たとえばApacheを使用しています)。 AJAXの応答を受け取った瞬間に、新しい要求を実行して次の応答を待つだけです。
彼らはAJAXでプッシュし、(少なくともUSEDで使用する)無限のスクロールを使用します。
だから、あなたはあなたのページをロードしたい、と彼らがログインしているユーザーに基づいていくつかのメッセージをロードするために、サーバーへの最初の呼び出しを行いたい、jQueryのようなフレームワークを持って言う:
http://api.jquery.com/jQuery.ajax/
そして、あなたが下にスクロールすると、ページの一番下に近づいていることをメモし、データを残さないようにもっと読み込む必要があります。これは、無限スクロールと呼ばれ、あなたはDOMのどこにいるかを追跡している:
ほんの一例:http://ajaxian.com/archives/implementing-infinite-scrolling-with-jquery
基本的にコードは、そのサーバーへのAJAX呼び出しを行い、そしてどちらかの別をトリガー応答を待ちます要求を受け取ったり、タイマーでポーリングしたり、プッシュされるとすぐにデータを受け取るためにwebsocketを開きます。これは、もちろん、フィードの上部に表示される「新しい」データ用です。ページが最下部に達すると、次のn個の項目を取得するために別のAJAX呼び出しが行われます。
- 1. どのようにFacebookページのニュースフィードをウェブサイトで取得する
- 2. どのようにデータをWebページクライアントにプッシュできますか?
- 3. Facebookのニュース:古いFacebookニュースフィードと新しいFacebookニュースフィードの問題
- 4. PHP Facebookやtwitterのようなニュースフィード
- 5. c2dmアプリケーションはどのようにAndroidアプリにプッシュしますか?
- 6. FacebookユーザーのニュースフィードをiOSアプリケーションに表示するにはどうすればよいですか?
- 7. Eclipse/PyDevからHerokuにどのようにプッシュしますか?
- 8. iFrame埋め込みHTML5ビデオをFacebookのニュースフィードに埋め込むにはどうすればよいですか?
- 9. GITプッシュはどのように機能しますか?
- 10. Facebookのニュースフィード、サーバー
- 11. データをデバイスにプッシュするにはどうすればよいですか?
- 12. asp.netのFacebook/TumblrスタイルのニュースフィードCMSを開発しようとしています
- 13. Facebook API経由でユーザーの完全なニュースフィードを取得するにはどうすればよいですか?
- 14. image to FaceBookニュースフィード
- 15. FacebookニュースフィードAPI
- 16. iOS Facebook Connectニュースフィード
- 17. Facebookページのようなボタンは、ニュースフィードの一般的なFacebookの説明を表示します
- 18. Facebookはどのようにチャットサイドバーを実装しましたか?
- 19. どのようにアプリケーションからFacebookのデータを取得するには?
- 20. Facebookのprofile.php?= idはどのように動作しますか?
- 21. Facebook Emitterはどのように機能しますか?
- 22. Facebook Likeボタンはどのように機能しますか?
- 23. Facebook Realtime APIはどのように購読しますか?
- 24. iPhone用Facebookアプリはどのように機能しますか?
- 25. ニュースフィードを取得するにはどうすればよいですか?ニュースと天気のアプリのように
- 26. Facebookのアプリサポートメールをどのように編集しますか?
- 27. Facebookのアプリをどのようにデバッグしますか?
- 28. HTML5以外のブラウザにどのようにアップデートをプッシュしますか?
- 29. CouchDBはどのようにデータを処理しますか?
- 30. LWJGLはmatrix3fデータをどのように格納しますか?
Firebugを持っている場合は、コンソールで見てください。おそらくAJAXリクエストを介してGETリクエストが表示され、無期限に回転します。実際の質問は、タイムアウトや間隔で設定されていないように、このリクエストを開いたままにする方法です。 – grep