タグ

WebSocketに関するnobusueのブックマーク (8)

  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“C

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
  • sangoの使い方 - JavaScript WebSocket 編 — そこはかとなく書くよん。 ドキュメント

    sangoの使い方 - JavaScript WebSocket 編¶ ブラウザのJavaScriptからsangoを使う方法について説明します。 ブラウザからJavaScriptを使用してsangoを使うには、WebSocketを使用します。 sangoのダッシュボードでMQTT接続情報を開くと「WebSocket接続先」の情報が 記載されています。 これをメモしておきましょう。 1. JavaScriptを実装する¶ pahoから mqttws31.js をダウンロードして、読み込ませておきます。 2. クライアントの実装¶ Connect部分はPub/Subともに共通です。 他の言語ではClientIDは指定しない場合、ランダムな文字列を生成してくれる ものがほとんどですが、JavaScriptの場合は自分で指定する必要があります。 Math.random() などを使い、ランダムな

  • Serving Websockets to iOS, Android and the Web using Groovy, Spring, Angular.js, SockJs and STOMP

  • WebSocketを再接続するアルゴリズムの工夫 - ワザノバ | wazanova

    http://blog.johnryding.com/post/78544969349/how-to-reconnect-web-sockets-in-a-realtime-web-app 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 John RydingのブログでWebSocketの再接続のアルゴリズムの工夫について紹介しています。 リアルタイムウェブアプリにおいて、何らかの理由でバックエンドとの接続が切れた場合、クライアントは一定間隔で再試行するというロジックを設定(参考コード)していたとします。その場合、大量のクライアントがいて、もし長い時間接続が不能であれば、再開時にバックエンドには大量のリクエストが集中することになります。 そこでJohnがお薦めするExponential Backoff

  • 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のメモ置き場
  • Spring4.0で、APサーバに依存しないWebSocketサーバを実現する方法 - Taste of Tech Topics

    こんにちは、阪です。 昨年末に、Springがメジャーバージョンアップして4.0になりましたね。 代表的な変更点を上げてみても、 コールバック関数のJava8ラムダ式対応 Java EE 6 & 7 対応 GroovyによるSpring定義の記述対応 WebSocket、SockJS、STOMP対応 非同期REST対応等のRESTインタフェース機能拡張 のように、大きな機能追加・変更が行われていますが、その中でも、最近流行りのWebSocketに対応したということで、少し触ってみました。 まずは実装 超シンプルなチャットプログラムを作ってみます。 (エラー処理等は割愛。) まずはサーバサイドから。 Mavenのpom.xmlのdependenciesに、Springの標準ライブラリに加えて、WebSocket用のライブラリ(spring-websocket)を定義します。 <depend

    Spring4.0で、APサーバに依存しないWebSocketサーバを実現する方法 - Taste of Tech Topics
  • Play2+nginx/Akka/WebSocketで高速双方向通信

    前回の記事「Play2(+JavaScript)アプリを高速化、最適化する4つのテクニック」では、キャッシュの利用方法や非同期通信を行う手法、クライアントサイドでJavaScriptをうまく扱うテクニックについて紹介しました。 今回はPlay framework 2.x(以下、Play2)を既存のWebサーバーと連携させる方法、並列処理や双方向通信を行う方法を紹介します。 WebサーバーとPlay2の連携 Webサーバーと連携する必要性 連載第2回記事「Play 2.0のアーキテクチャとディレクトリ構成の基礎知識」で解説をしましたが、Play2では「Netty」というHTTPサーバーを内包しており、それを使用してリクエストを処理します。そのため、Play2の起動ポートを80番に設定すれば通常のWebサーバーと同じようにアクセス可能です。 単純なWebアプリケーションの場合はこれで問題はない

    Play2+nginx/Akka/WebSocketで高速双方向通信
  • WebSocketが一番速いアプリケーションサーバはどれだ?

    WebSocketが一番速いアプリケーションサーバはどれだ?:Tomcat、Jetty、Socket.IO/Node.js性能比較(1/3 ページ) はじめに 2012年の10月にWindows 8が発売され、そこに搭載されたInternet Explorer(以下、IE) 10ではHTML5の機能が利用できるようになりました。また、2013年の2月にWindows 7版のIE 10もリリースされ多くのユーザーがHTML5の恩恵を受けられるようになりました。 HTML5の機能の多くは、Webブラウザ側で実装されれば、HTMLCSSを適切に記述することで利用が可能です。しかし、今回取り上げるWebSocketはサーバ側でも機能の実装が必要です。このため、WebSocketを利用する場合はWebブラウザだけではなくサーバを選ぶ必要があります。 WebSocketそのものの技術的な解説は、以下

    WebSocketが一番速いアプリケーションサーバはどれだ?
  • 1