タグ

JavaScriptとhttpに関するyo_wakaのブックマーク (2)

  • cometなんて知らなかったサル

    なんか閃いた(サル的に)のでブラウザでチャットする方法を考えてみた。XMLHttpRequest(いわゆるAjaxのこと、以下XHR)を使えば容易に実現できそうに思える。 まず思いつくのがクライアントから定期的(1秒毎とか)にリクエストさせる方法(ポーリングというらしい)。この方法だと例えば5人が10分チャットすると5(人)×600(秒)=3000リクエスト。そしてユーザの発言が反映されるまで最大で1秒の遅延が発生する。リクエスト間隔を短くすれば遅延を短く出来るがリクエストが増える。リクエストを減らすと遅延が増える。 そこで閃いた(サル的に)のがブラウザからのリクエストに対してサーバサイドでセッションを保持し、ブラウザではXHR.readyState=3で受信する方法。リクエスト数=ユーザ数となり、リクエスト数という観点からは最良の方法と思われたが、実際にやってみたらFirefoxでしか動

  • Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき

    twitter stream APIとは、twitterのステータス更新に対してキーワードでtrackしたり、あるグループ内に属するステータス更新をフィルタしたり出来るAPIなのだけど、実際にはchunkedなストリームが流れて来ているのであって、これを使ったWebアプリを作る際にはlong pollを使うのが良い。ただしクライアントサイドでjavascriptを処理する際に サーバサイドでステータス更新をFIFOに溜め込む クライアントからリクエストをブロック(long poll)しFIFOからステータスを送出する クライアントサイドでlong pollを行い画面を更新する 再度サーバへリクエストを投げる を繰り返すのであれば、せっかくストリームなのにアプリサーバとの接続を切ってしまう事になる。出来ればクライアントからWebアプリもストリーミングとしたい。しかしながらサーバからのステータ

    Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき
  • 1