長時間つなぎっぱなしでのサービスの場合は、@mitsuakiさんの
コーディング例のようなケアが必要になると思います。
スリープまで、ケアしたことは無かったのですが、確かに
Extensionだとケアが必要ですよね。
サイレントクローズ(アプリが気づかないクローズ)の類だと思います。
例えば、ブラウザとサーバとの間にNATやFireWallがある場合、通信が
一定期間無い場合、リソース節約のためにそのセッションテーブルを
切ってしまうため、通信ができなくなってしまいます。この時、
ブラウザやサーバに「切ったよ」と伝えることは普通しないので、
readyStateを変えることもできず。。。といった感じです。
なので、一定間隔でデータを送信(ping)し、サーバから返信(pong)
を確認するキープアライブ処理が必要となります。
#返ってこなかったら、再接続するみたいな。
Ajaxでは、あまり気にしなくても良かったネットワーク内のあれこれも
WebSocketでは気にしなくてはならなくなる。。。ってことかなと。
P.S. 最新のIETFの仕様では、プロトコルレベルでコネクションキープアライブが
規定されていますので、将来的にはjavascriptで書かなくてもよく
なるかもしれませんが。。。
2011年3月20日22:36 @mitsuaki_i <griffith100...@gmail.com>:
> --
> このメールは Google グループのグループ「html5-developers-jp」の登録者に送られています。
> このグループに投稿するには、html5-dev...@googlegroups.com にメールを送信してください。
> このグループから退会するには、html5-developer...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/html5-developers-jp?hl=ja からこのグループにアクセスしてください。
>
>
皆様は大丈夫でしたでしょうか。被災された方々には心からお見舞い申し上げま
す。
うちも茨城で震度6弱エリア付近でしたので WebSocket 用の socketapi.com を
含めてサーバーが2台とPCが少し壊れましたが、なんとかほぼ復旧し、ようやく
落ちついてきました。次は復興へ向けて頑張ろうかなと思います^^。
さて、最近は空間線量も下がってきましたが、関東含め福島近県では特にお子さ
んのいらっしゃる家庭では心配してるかなぁと思います。
でも、ガイガーカウンターの値を常時見ているわけにも行かないので、、、
防災Nネットさんの空間放射線量率を JSON化 して (復旧した!) socketapi.com
の WebSocket で10分毎に流してみました。
http://socketapi.com/user/atom/1/ref.htm
こんな感じです。
[環境防災Nネット]→[WSクライアント(送信専用)JSONへ加工]
↓
[WSサーバーで中継]
↓↓↓↓↓↓↓
[WSクライアント(受信専用)JSONを加工]
まぁ、データデータは勝手に取得してますので、このJSONの仕様は防災Nネット
からのデータが変われば変わる可能性があります。また、提供を継続できるとい
う保証もありません。
一応、加工したサンプルはたとえばこんな感じです。
放射線量(ナノグレイ値/時)だけを自動更新 10分毎
http://socketapi.com/user/atom/1/sample3.htm
あと、@mitsuaki_iさんの、緊急地震速報(http://goo.gl/ON751)にリスペクト
しつつ、今夜あたり、Chrome拡張で指定した地域の放射線量が指定した値に変化した時、 お
知らせノーティフィケーションを表示するというのをアップしようかなぁと思っ
てます。
--
高橋登史朗
コマンドラインからJavaScriptを使用してWebKitをブラウザなしで操作できるPhantomJS
を試してみたら、WebSocketが簡単に動作しました!
PhantomJS
http://www.phantomjs.org/
PhantomJS - 姿の見えないブラウザをコマンドラインから操作
http://dendro.screw-axis.com/phantomjs
Winならダウンロードして
phantomjs パスto\hello.js
という感じで動きます。
試したのは先ほど書いた、
http://socketapi.com/user/atom/1/sample1.htm
のJSだけ取り出し、ws.jsなどとしてファイルしたものです。
とりあえず、こんな↓コードですけど、今もWinのコマンドプロンプト上で受信
したJSONを出力中です。
//WebSocketサーバーへの接続とインスタンス生成
var ws = new WebSocket("ws://socketapi.com/api/atom/1");
//サバーから受信した時の動作
ws.onmessage = function(msg) {
//受信データを表示する
console.log( "-----" + msg.data);
};
//ハートビート 1分毎に接続継続用の信号を送信 (5)
var hbtimer = setInterval(
function(){ws.send("Heartbeat")}
,50000);
#WebSocketのクライアント処理に限らずいろいろ出来そう。。
--
Toshiro <Takahashi>
> あと、@mitsuaki_iさんの、緊急地震速報(http://goo.gl/ON751)にリスペクト
> しつつ、今夜あたり、Chrome拡張で指定した地域の放射線量が指定した値に変化した時、 お
> 知らせノーティフィケーションを表示するというのをアップしようかなぁと思っ
> てます。
ということで、とりあえず作ってみました。
Chrome拡張 放射線量率モニタ
https://chrome.google.com/extensions/detail/cnmonfpkkmdhagghighdnkmjcajegfki?hl=ja
一応、notificationは10秒で消えますが、今はエリアごとのレンジが広いので、
ちょうど良い具合の設定が難しいかもです。
> --
> このメールは Google グループのグループ「html5-developers-jp」の登録者に送られています。
> このグループに投稿するには、html5-dev...@googlegroups.com にメールを送信してください。
> このグループから退会するには、html5-developer...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/html5-developers-jp?hl=ja からこのグループにアクセスしてください。
--
Toshiro Takahashi
高橋登史朗
http://allabout.co.jp/internet/javascript/profile/mbiopage.htm
Blog: http://jsgt.org/mt/01/
Twitter: http://twitter.com/toshirot
デベロッパーが何かしたくても基礎データが手に入らないことであきらめるケー
スは多いと思いますが、放射線モニター関連の基礎データの情報共有を行ってい
るなかなか良いページがありましたので、ご存知かもしれませんけれど紹介しま
す。
「放射線モニターデータのまとめページ」
https://sites.google.com/site/radmonitor311/
有志でメンテナンスされている機械可読データ(CSV, TSV, JSONなど)、API、ス
プレッドシートなどデータベースへのリンクもあります。
状況を正しく「楽観」でも「悲観」でもなく冷静に理解するには、信頼できる
複数の情報(あるいは、複数の視点を知ることで信頼性の上がる状況)が必要であ
るなぁ、と思う今日この頃です。
On Fri, 01 Apr 2011 12:09:10 +0900
Toshiro Takahashi <ta...@game.gr.jp> さん wrote:
> --
> このメールは Google グループのグループ「html5-developers-jp」の登録者に送られています。
> このグループに投稿するには、html5-dev...@googlegroups.com にメールを送信してください。
> このグループから退会するには、html5-developer...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/html5-developers-jp?hl=ja からこのグループにアクセスしてください。
--
高橋登史朗
@toshirot Japan
http://allabout.co.jp/gm/gp/333/