Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

HTML5のお勉強 第1回 ~WebSocket~

2015-04-21 20:04:24 | 最新技術動向展開
ブラウザベースのアプリケーションがどんどん増えてきました。
例えばDropBoxのようなクラウドストレージやdesknet'sなどですね。

そんな中でWebアプリケーションを作る立場から出ていた声として
「リアルタイムな(遅延の少ない)通信がしたい」
「サーバーからプッシュ通知がしたい」
などがありました。

AjaxやCometなどの技術によって一応は実現されていましたが、
いずれもHTTPの技術にひと工夫を加えたものであり、
どこか問題を抱えていてスマートな解決はできていませんでした。


そこで登場したのが「WebSocket」です。
名前の通り「Web」上で動作する、「Socket」ライクな通信プロトコルです。
TCP/IPのアプリケーション層で動作します。
最大で14バイトと非常に軽量なヘッダを持ち、双方向通信を可能とするため、
従来では簡単にできなかった「サーバーからの通知」が
低遅延で手軽に実装可能となります。


実例としては、WebSocketを使うことで
タブレット端末がテレビの多機能リモコンになったり、
ブラウザからリモートデスクトップができたりするようです。
特別なソフトのインストールを必要とせずに
ブラウザさえあればいろいろなことができる、
というのは導入も簡単で良いですね。

※参考
 りもこんプラス http://techon.nikkeibp.co.jp/article/FEATURE/20130513/281137/
 ThinVNC http://www.forest.impress.co.jp/docs/news/20120208_510596.html


現在自社で開発している新製品でもWebSocketを使用しています。
「リアルタイムに情報が欲しい」
「いちいちリクエストを投げたりしたくない」
「しかも簡単に扱えるものがいい」
ということで、リアルタイム通知に使っています。

一番通信量の多いところで
だいたい50msごとに50バイト程度のデータを送っていますが、
遅延などはほとんど感じられません。(LAN内でのWi-Fi通信です。)

Webアプリケーションを開発する際の参考になれれば幸いです。

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業