Hatena::Groupsubtech

冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

 | 

Oct 17, 2010 (Sun)

複数ブラウザで同時に JS を実行するシェルをつくった 19:15 はてなブックマーク - 複数ブラウザで同時に JS を実行するシェルをつくった - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

f:id:cho45:20101017165602p:image

plackup -s AnyEvent psgi.psgi

して、http://localhost:5000/ とかを各ブラウザで開いておく (ここは手動)

でもって ./shell.pl するとプロンプトがでてくるので適当に入力すると各ブラウザからレスポンスがかえってくる。

仕組み

  • 各ブラウザで / をひらくと、それぞれ long poll してスクリプトの実行要求を待つ。
    • 親の iframe がずっと long poll する
  • 実行要求は適当に HTTP で送る (結果がかえってくるまで long poll する)
  • 各ブラウザはそれを受け取って子 iframe で実行する
  • 各ブラウザは結果を HTTP 経由で送る
  • 各ブラウザからの結果が集ったら実行要求の応答をする

二重の long poll になっている。

ブラウザたち → 中継ウェブサーバ ← 実行させたいクライアント

中継サーバは Plack, AnyEvent

どや

 | 

スポンサード リンク

書いてる人

cho45 (佐藤広央) (www.lowreal.net)

Perl, JavaScript, Ruby, HTML, CSS, Web etc


スポンサード リンク