タグ

WebSocketに関するsasaplus1のブックマーク (37)

  • 「Socket.IO は必要か?」または「WebSocket は通るのか?」問題について 2016 年版 | blog.jxck.io

    Intro 「Socket.IO 使ったほうがいいですか?」 という主旨の質問をもらった。 これは、 WebSocket が繋がらない環境に向けて、フォールバック機能を有する Socket.IO にしておいた方が良いのかという意味である。 WebSocket が出てきた当初と比べて、 Web を取り巻く状況は変わったが、変わってないところもある。 念のためと Socket.IO を使うのもよいが、「当に必要なのか」を問うのは重要である。 Rails も ActionCable で WebSocket に対応し、ユーザも増えるかもしれないことも踏まえ、 ここで、もう一度現状について、把握している範囲で解説しておく。 "繋がらない" とは 最初に、なぜ 繋がらない ことがあるのかを、きちんと把握したい。 まず WebSocket の有史全体をみれば、繋がらないとして語られていた現象は、大きく

    「Socket.IO は必要か?」または「WebSocket は通るのか?」問題について 2016 年版 | blog.jxck.io
  • AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO

    はじめに 先日のアップデートAWS IoT Device GatewayがWebSocketに対応しました。 このアップデートにより、JavaScriptで動作するMQTTクライアントを用いてWebページ上からAWS IoT Device GatewayにPub/Subすることが可能になりました。(MQTT over WebSockets) 今回はローカルのHTMLをIoT Device Gatewayと連携させる方法をご紹介します。 使ってみる Pub/Sub可能なIAMユーザーの作成 ブラウザからMQTT over WebSocketsを使うには、今のところPub/Sub権限を持ったIAMユーザーのクレデンシャル(アクセスキーとシークレットキー)が必要です。 公開したときに悪用されないために、最低限の権限を持ったIAMユーザーを作成しましょう。 今回はweb-chat-iotというユ

    AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO
  • WebSocket備忘録 - pochi's weblog

    社内でWebSocketに関する勉強会をやってきました。今回WebSocket自身を調べ直したことでだいぶ自分の勉強になりました。 普段アプリケーションを書く上であまり気にならないですがプロトコルの中身を知っておくことは重要であまりその辺りを書いている人もいなかったので書いておこうと思います。 詳しくは RFC6455日語訳に書いてます。 WebSocketとは ステートフルなプロトコルで、一度接続を行うとその後はサーバからでもクライアントからでも好きなタイミングでデータのやり取りを行うことができる。Googleさん提唱でだいたいどのブラウザからでも利用可能。 WebSocket接続手順 接続確立については最初はHTTPを利用する。 これはファイアウォールやプロキシなど既存のHTTP環境との親和性を持つためにやっている。 またHTTPと同様にTLSを利用した仕組みでセキュアな接続も可能で

    WebSocket備忘録 - pochi's weblog
  • あなたにWebSocketは必要ないかも | POSTD

    (訳注:2015/8/4、いただいた翻訳フィードバックを元に記事を修正いたしました。) 題に入る前に強調しておきます。WebSocketは優れた通信プロトコルです。実際私はこの RFC6455 を、 Fanout のサービスで使っている( Zurl や Pushpin といったパーツで採用しています。Fanoutではまた、 Primus (異なるリアルタイムフレームワーク間での通信を可能とするラッパー)を利用し、 XMPP-FTWインターフェース を介したWebSocket通信をサポートしています。 しかしながら私はこれまで、多くの広く普及しているアプリケーションにかなりの時間を費やし、おかげでRESTやメッセージングパターンについては多少なりとも理解が深まってきた今、実はWebSocketを実装した典型的なWebアプリケーション(もしくはWebSocketライクな抽象化レイヤ)の大部分

    あなたにWebSocketは必要ないかも | POSTD
  • WebSocket(RFC 6455)上で使用するプロトコル設計についての備忘録 - kazuhoのメモ置き場

    一般論として、全二重の通信プロトコルを実装するにあたっては、いくつか注意すべき点があって、具体的には、到達確認と切断シーケンスについて定めておかないと、送達されたはずのメッセージがロストしていたり、切断タイミングによってエラーが発生*1したりする。 具体例をあげると、たとえばTCP/IPにおいてshutdown(2)を用いずに、いきなりclose(2)を呼んでいると、read(2)やwrite(2)がエラー(ECONNRESET)を返す場合がある。 翻って、WebSocket (RFC6455)の場合はどうなってるか? だいたい以下のような感じっぽい。 ws.close()が呼び出されるとWebSocketをCLOSING状態に変更し、Closeフレームを送信する ws.onmessageはWebCosketがCLOSING状態にある間も呼ばれるかもしれない*2 相手からCloseフレーム

    WebSocket(RFC 6455)上で使用するプロトコル設計についての備忘録 - kazuhoのメモ置き場
  • Heroku + Pusherで作る!リアルタイムアプリケーション

    Heroku + Pusherで作る!リアルタイムアプリケーション — Presentation Transcript Heroku + Pusherで作る!リアルタイムアプリケーション Yokohama.rb 海老沢 聡 (Satoshi Ebisawa) 自己紹介• 海老沢 聡 (Satoshi Ebisawa)• @satococoa• satococoa.github.com• Yokohama.rb / P4D (デザイナー向けプログラム部) リアルタイム アプリケーション?• ユーザ間で同期がとれてたり• サーバから動的に通知できたり• 他のユーザと(ほぼ)リアルタイムに インタラクションできたり Webで「リアルタイム」 といえば・・・ WebSocket!!!! でも、WebSocket非対応>< え?今日対応したって?? でもHerokuには がある! でできること• W

  • socket.io-clientがnode.jsから呼び出せるようになってた - ikeike443のブログ

    下記のコミットで出来るようになってる。 https://github.com/LearnBoost/socket.io-client/pull/274 バージョン的には0.7.5から。 今なら下記のようにnpmからインストールすれば使えるようになってる。 $ npm install socket.io-client ちなみにsocket.ioっていうのは、websocketおよびそれっぽい何かを使って、プッシュ通信をクロスブラウザで実現しようというライブラリ。ステキやん。 http://socket.io/ 準備 インストールしたら、まずサーバサイドを下記のように書く(要express/ejs)。 このコードはどなたかのブログを参考にさせていただいたものです。(すいません。どなたのものだったか忘れました。。) hello.js var express = require('express'

    socket.io-clientがnode.jsから呼び出せるようになってた - ikeike443のブログ
  • impress.jsとsocket.ioでimpress.ioっていうプレゼンツール作った。 - from scratch

    埋め込みスライド、矢印キーで操作できるようにしました。: 2013/05/11 追記:スライドページを修正。 2013/05/11 追記:Gruntコマンドを修正。 発表資料作る時、いつも何で作るか迷ってたんですが、悩んでいる時に markdown2impress という素晴らしいツール(yoshiki/markdown2impress · GitHub)に出会い、これを基にimpress.jsとsocket.ioを使ったプレゼン同期ツール、impress.ioを作りました。 Impress.io = socket.io + impress.js yosuke-furukawa/impress.io · GitHub 機能 プレゼンページ同期 プレゼンを変更し、GitHubにcommitしたら、その場でプレゼンを見ている全クライアントをリフレッシュする Markdownを記述し、Impre

    impress.jsとsocket.ioでimpress.ioっていうプレゼンツール作った。 - from scratch
  • nginx(1.3.13)でWebSocketをリバースプロキシしてみる - 人と技術のマッシュアップ

    nginx(1.3.13)でWebSocketのプロキシを試してみました 2013/2/19にnginxが正式にWebSocketに対応したとアナウンスがあったので、試しに使ってみました。 ダウンロード・インストール ここからnginx-1.3.13をダウンロードしてきて、インストールします。 インストールオプションはあえてデフォルトで $ wget http://nginx.org/download/nginx-1.3.13.tar.gz $ tar xvf nginx-1.3.13.tar.gz $ cd nginx-1.3.13 $ ./configure $ make $ sudo make install 設定ファイルの書き換え 次にnginx.confを書き換えます。構成は リバースプロキシ: 192.168.0.8:80 バックエンドサーバ: 192.168.0.2:3000

    nginx(1.3.13)でWebSocketをリバースプロキシしてみる - 人と技術のマッシュアップ
  • I am mitsuruog | websocketを使う際の意外な落とし穴

    ブログは東京 Node 学園祭 2012 アドベントカレンダーの 6 日目の記事です。 今回はnodejitsuを使って sockect.io を使ったアプリをホスティングしたところ、websocket(以下、ws)まわりで思わぬハマりポイントがあったというお話しをします。 (同じようなトラブルで悩む方に少しでもヒントをあげられたらと考えています。) このエントリでお伝えしたいこと。 ws 通信は 443 ポート(wss)で行った方が良い。 ws のみがブロックされた場合に socket.io が怪しい挙動をする…(Help me!) nodejitsu なかなか好いよ。 ws 通信は 443 ポート(wss)で行った方が良い。 既に周知の事実かもしれませんが、通常の HTTP(80 ポート)を使って ws 通信を行った場合、 サーバから送信された ws の通信データが、クライアントのブ

    I am mitsuruog | websocketを使う際の意外な落とし穴
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • 1.WebSocket仕様解説 実装WebSocketクライアント対応プロトコルバージョン確認編 (2012/09/28 Update) - gtk2kの日記

    WebSocket API(日語訳)は、全二重の双方向通信を可能にするAPIで、これによりリアルタイムなWebアプリケーションを実現することができるようになります。WebSocketのプロトコル側の仕様が半年ほど前にRFCとして策定され、ようやく落ちついたところです。(まだ仕様変更がある可能性がないとは言い切れないけど) ※なお、ブラウザーは現時点(2012/07/26)での各最新のブラウザーを対象とします。(Chrome20,Firefox14,Opera12,Safari5+Safari6) また、ブラウザーに実装されているWebSocket(API)のことを"WebSocketクライアント"と呼ぶことにします。 WebSocketクライアントが実装されているブラウザー 主要なブラウザーのうち現在においてWebSocketクライアントを実装しているのはChrome,Firefox,O

    1.WebSocket仕様解説 実装WebSocketクライアント対応プロトコルバージョン確認編 (2012/09/28 Update) - gtk2kの日記
  • WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes

    intro なんだかんだ WebSocket を使ってるのに、 WebSocket サーバを自分で書いたことが無かったので、RFC も落ち着いてきたここらで、仕様を読みながら実装してみようと思いました。 "WebSocket サーバ 実装" とかでググると、 Socket.IO とか pywebsocket で WebSocket アプリ作って、「WebSocket サーバを実装」みたいなタイトルになってることが多いみたいですが、 (Apache に PHP で HelloWorld して、「HTTP サーバ実装しました」とは言わないよね。) この記事では、 WebSocket プロトコルをしゃべるサーバ自体を実装します。 といっても、全部やるのはちょっと大変だったので、基的なテキストメッセージのやりとりの部分だけやって、エコーサーバができるところまでやりました。 完成版のソースは以下で

    WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes
  • RESTをとるか、WebSocketをとるか : iwamotのブログ

    2012年04月05日01:53 カテゴリ RESTをとるか、WebSocketをとるか どうせWebアプリケーションを作るのなら、できるだけRESTfulに作りたい、と僕は今でも思っている。 とはいっても、セッションIDをcookieに保存する例のように、あえてRESTのスタイルを崩すべき場合もあろう。 非同期処理についても、RESTにこだわってジョブリソースを云々するより、WebSocketを使って完了をクライアントに伝えるほうが簡単だ。だから、スタイルを崩してWebSocketを使ってよい。 当にそれでよいのだろうか。気になったので、RESTの提唱者であるRoy T. Fielding氏がWebSocketをどう評価しているのか調べてみた。理解に誤りがあればご指摘いただきたい。 Re: [hybi] WebSockets (2009-03-30) なぜWebページからのプッシュが必

    RESTをとるか、WebSocketをとるか : iwamotのブログ
  • Lori MacVittie「SPDYとHTML5 WebSocketsの比較」 - 以下斜め読んだ内容

    f5 DevCentral 2012.6.13のエントリ SPDY versus HTML5 WebSockets websocketsとspdyを比較 spdyの方が普及の見込みが遥かに高い、と予測 予測の理由も説明 webの高速化とか共通点が多い2つの技術の細かい違い websockectsにはヘッダが無い この細かい違いが意外と影響範囲が大きいことを説明してる 色々勉強になった比較 以下斜め読んだ内容 #HTML5 #fasterapp #webperf #SPDY 似てる部分多い だがデータセンターへのインパクトはかなり違う http2.0をめぐる議論が少し盛り上がり中 The HTTP 2.0 War has Just Begun このエントリへ「「なぜwebsocketsがスルー?」というコメントが付いた 答えは簡単「HTTPヘッダ」 コメント主は詳しい説明欲しいと思うから、少

    Lori MacVittie「SPDYとHTML5 WebSocketsの比較」 - 以下斜め読んだ内容
  • 第5回 クライアント側の実装 | gihyo.jp

    今回は、WebSocket APIについて解説と、WebSocketを使ったチャットアプリケーションのクライアント側の実装を行ないます。 WebSocketオブジェクト ブラウザのJavaScriptからWebSocketを利用するために、WebSocket APIがW3Cで策定中です。執筆時点のブラウザ(Safari及びChrome)は、最新のドラフト「Editor's Draft 27 July 2010」に対応していません。ここでは、現行のブラウザが対応しているWebSocketの仕様を解説した後、最新の仕様について説明します。 インスタンス化 WebSocketはインスタンス時、第一引数に「ws://」または「wss://」で始まる文字列で接続先を指定します。また、省略可能な第二引数にはサブプロトコルを指定できます。サブプロトコルについては後述します。 new WebSocket(

    第5回 クライアント側の実装 | gihyo.jp
  • dotCloud で WebSocket - Block Rockin’ Codes

    dotCloud が WebSocket に対応したという発表がありました。 dotCloud Announces Native Support for WebSockets | dotCloud Blog dotCloud は多くの言語やミドルウエアに対応していて、 CLI からアプリがデプロイできる PaaS サービスといった感じです。 (Heroku なんかをイメージしてもらうとわかりやすいかも。) 早速、 Node.js + Socket.IO でどんなもんか試してみました。 アカウントは自分は結構前にとったんですが、今ならすぐ取得できるっぽいです。 CLI のインストール 専用の CLI があるのでそれをインストールするところから始めます。 http://docs.dotcloud.com/firststeps/install/ にある通り、 Python の pip で入れます

    dotCloud で WebSocket - Block Rockin’ Codes
  • WebSocket のバイナリメッセージを試したら、ウェブの未来が垣間見えた

    長い記事なので、先に結論だけ書いておきます。WebSocketのバイナリメッセージ機能は、これまでのインターネットのあり方をひっくり返します。「そんなの知ってるよ」という方もいるとは思います。僕も理屈では分かってたつもりだけど、実際にアプリを作ってみて、具体的にそれを感じることができたので、ちょっと長いですがどういうことなのか説明してみます。 WebSocketとは # WebSocketは、HTML5関連の中でも特に注目を集めている技術の一つです。通常のHTTP通信であればクライアントからのリクエストなしにサーバーは応答しませんが、WebSocketを使うことでクライアントとサーバーの間で双方向の通信が可能となります。これを利用することで、今後様々なリアルタイム性の高いサービスを構築することが可能になるでしょう。 そんなWebSocketですが、これまで波乱の道を歩んできました。数年前か

    WebSocket のバイナリメッセージを試したら、ウェブの未来が垣間見えた
  • WebSocket の動作確認に wscat が便利すぎる件 - tricknotesのぼうけんのしょ

    WebSocket を利用したアプリケーションを作る際に、動作確認が煩雑な場合があります。 サーバ側とクライアント側をどちらも実装する必要があって、「ちょっとこの部分だけ動かしてみたいなぁ」っていうときに、簡単に試す方法があると便利ですよね! そんなときにおすすめなのが、 wscat です。 wscat は、コマンドラインで利用できる WebSocket のサーバ/クライアントで、ws に同梱されています。 ws とは、 Node.js 上で WebSocket を使うためのモジュールで、Socket.IO やengine.io の内部でも利用されている今注目のプロダクトです。 今回は、この wscat の使い方をご紹介します。 対象バージョン ws (0.4.7) インストール Node.js のモジュールなので、 npm でインストールするのが簡単です。 $ npm install -

    WebSocket の動作確認に wscat が便利すぎる件 - tricknotesのぼうけんのしょ
  • Pusherでお手軽WebSocket - iPhoneから加速度をリアルタイム送信

    はじめに タイガーマスクが貢いでくれるのを待っている皆さんこんばんは。 前振り考えるのが面倒なので結論から書くと、今日はWebSocketについて扱おうと思います。iPhoneを使って↓こんなサンプルを作ってみました。 Safari上のJavaScriptと、WebSocketをWebサービスとして提供しているPusherを利用して、サーバサイドの言語を使わずに実装しています。 WebSocketってなぁに? httpおさらい Webの通信に使われる皆さんお馴染みのhttpは、クライアント(ブラウザとかね)とサーバが常に「問い合わせ(リクエスト)と返答(レスポンス)」のペアでやりとりをおこないます。 クライアント(FirefoxやChromeなど): 「情報ください」 サーバ(Apacheやnginxなど): 「はい、どうぞ」 このシンプルな仕組みがhttpの強みであり、URLと共にここま

    Pusherでお手軽WebSocket - iPhoneから加速度をリアルタイム送信