タグ

web_socketに関するxai1981のブックマーク (18)

  • 大量接続に耐えるWebSocketアプリケーションサーバ構築のコツ - pixiv inside [archive]

    WebSocketの扱うサービスでは、長時間のコネクション、再接続処理、プロキシ、ロードバランサなど、インフラの面で多くの問題を抱えがちです。弊社のサービス「pixiv」の9周年企画でも、この問題に直面しました。 実際にそこで構築したインフラの事例をもとに、運用に使えるWebSocketサーバの構成について、pixivインフラ部の南川からご紹介します。 * 9周年企画 “黒歴史”をロケットで宇宙に飛ばす pixiv歴史 そもそも WebSocket とは? WebSocketはTCP上で動く双方向通信のための通信規格です。 Webページの読み込みで行われているような、クライアントがサーバにデータを要求し、サーバはクライアントにレスポンスを返すというHTTPの通信ルールとは違います。サーバと長時間コネクションを確立し、Socketのようにデータのやり取りを行います。そして、コネクションを

    大量接続に耐えるWebSocketアプリケーションサーバ構築のコツ - pixiv inside [archive]
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

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

    WebSocket及びWebRTCの技術紹介資料です。 WebSocket : 概要、標準化状況、HTTPとの通信量比較、PUSH方式の比較、ブラウザの対応状況 WebRTC : 概要、標準化状況、通信(PeerConnection)確立までの流れ、利用事例、ブラウザの対応状況 (NTTアドバンステクノロジ(NTT-AT))Read less

    WebSocket / WebRTCの技術紹介
  • RFC 6455 - The WebSocket Protocol (日本語訳)

    ◎要約 ~WebSocket~Protocolは、[ 制御された環境~下で信用できない~codeを走らせている~client ]と[ その~codeからの通信に対する~opt-inを備える~remote~host ]の間で,双路~通信を可能化する。 利用される~security~modelは、 各~web~browserから共通して利用されている,生成元( `origin^en )に基づく~security~modelである。 この~protocolは、 ~TCP越しに積層される[ ~opening~handshake, 後続する基的な~message~frame法 ]からなる。 この技術の目標は、[ ~serverとの双路~通信を必要とする,~browserに基づく応用 ]用に,複数の~HTTP接続の open (例: `XMLHttpRequest^c や `<iframe>^c と

  • can I use... Support tables for HTML5, CSS3, etc

    Test a feature Our partnership with BrowserStack now lets you test your website for compatibility across 2,000+ real browsers and devices. Test on: Did you know? Next If a feature you're looking for is not available on the site, you can vote to have it included. Better yet, if you've done the research you can even submit it yourself! You can import usage data from your Google Analytics account and

  • Get started | Socket.IO

    In this guide we’ll create a basic chat application. It requires almost no basic prior knowledge of Node.JS or Socket.IO, so it’s ideal for users of all knowledge levels. Introduction​Writing a chat application with popular web applications stacks like LAMP (PHP) has normally been very hard. It involves polling the server for changes, keeping track of timestamps, and it’s a lot slower than it shou

    Get started | Socket.IO
  • WebSocketには注意が必要 | POSTD

    近い将来WebSocketがRailsで使用できるようになると聞くと、デベロッパはみんな舞い上がって興奮します。 しかし、 あなたのユーザは、あなたがWebSocketを使用しているかどうかなんて気にしません 。 ユーザは、”快適なリアルタイムWebアプリ”を求めている。 デベロッパは、”快適でビルドが簡単なリアルタイムWebアプリ”を求めている。 オペレーションは、”デプロイ、スケール、管理が簡単なリアルタイムWebアプリ”を求めている。 上記全ての要望をWebSocketがかなえてくれるのなら素晴らしいことですが、この実装の詳細は高いコストがかかります。 超高性能で全二重なクライアントとサーバ間の通信は、当に私たちに必要なのか? WebSocketは、クライアントに情報を配信するための簡単なAPIと、クライアントからWebサーバへ情報を送信するための簡単なAPIを提供します。 サーバ

    WebSocketには注意が必要 | POSTD
  • My corporate proxy doesn't support web sockets, which makes Stack Exchange a pain to use

    The corporate proxy at my work doesn't support web sockets and as I understand, as informed by Wikipedia, this is pretty common. Whenever a Stack Exchange page loads, in Firefox, I have to click through six proxy authentication messages before I can do anything. It doesn't look like Stack Exchange uses websockets on other browsers. While others in a similar situation and I can just use another bro

    My corporate proxy doesn't support web sockets, which makes Stack Exchange a pain to use
  • em-websocket/lib/em-websocket at master · igrigorik/em-websocket

  • Your users don't care if you use Web Sockets

  • リアルタイムWebを構築しやすくする「Socket.IO」とは

    連載では、このTech-Sketchから「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けいたします。 リアルタイムWebとSocket.IO 栄えある連載第1回は、リアルタイムWebとSocket.IOについてお届けいたします。Tech-Sketchに掲載した元ネタはこちらです。 JavaScriptとDynamic HTMLによる「動的に表示内容が更新されるWebサイト」は、JavaScript内から非同期にサーバへ接続しデータを取得する技術、いわゆるAjaxが利用できるようになったことを皮切りに、爆発的に広がりました。Google Mapsなどがその代表例です。 このGoogle Mapsは、表示する場所や縮尺を変更するといった「利用者の操作」を契機として新しいデータをサーバへ取りに行く仕組みになっています。そのためサーバ側でデータが変更されたとしても、次にデータを

    リアルタイムWebを構築しやすくする「Socket.IO」とは
  • Socket.io with Websocket の SSL/TLS 対応 - tail my trail

    ※ (2016/9/19 追記) Nginx 使った対応方法も記載しているので、あわせて参考にして下さい。 昨今のサービスにおいて、暗号化はもはや必須の流れである。 GoogleやFacebookなど主要なサービスはずいぶん前からHTTPS通信を標準としているし、HTTPS化対応しているサイトはSEO的にも優遇されるようになる という方針が出ていたりする。 前記事でSocket.IO + Redis PubSubを用いたリアルタイムメッセージ配信の仕組みをまとめたが、このままWebSocketを利用すると当然インターネット上を平文のテキストが流れてしまう。 また、チャット機能を呼び出す親元のWebページがHTTPSで提供されているものであれば、Mixed Content でブラウザによっては暗号化されていないWebSocket通信をブロックされることもあるだろう。 後からSSL/TLS対応

    Socket.io with Websocket の SSL/TLS 対応 - tail my trail
  • WebSocketについて調べてみた。 - Qiita

    実はけっこう前からWebSocketの詳しい仕組みについて気になってて、遂に一念発起して調べてみた。何かとても良さげっぽい。 そもそもWebSocketとは Webにおいて双方向通信を低コストで行う為の仕組み。インタラクティブなWebアプリケーションではサーバから任意のタイミングでクライアントに情報の送信とかしたい事があって、例えばFacebookのチャットアプリみたいに多数のクライアントが一つのページにアクセスしてて誰かがメッセージを投稿するとそれをその他のユーザーに通知したい場合があって、そういった時に双方向通信の必要性が出てくる。 元々はWebにおいてはHTTPしか通信の選択肢が無くてHTTPのロングポーリング使って無理矢理双方向通信実現したりしてたんだけど、流石に無駄が多すぎるし辛いよねって事でWebSocketというプロトコルが作られた。 WebSocketにおいては、TCP上で

    WebSocketについて調べてみた。 - Qiita
  • WebSocketを研究してみた | ワークフローシェアNo.1 株式会社エイトレッド

    こんにちは! エイトレッド技術部和田です! エイトレッドでは毎月テーマを決めて、エンジニアが持ち回りで勉強会を実施しています。 世間からは3週ぐらい遅れてる気もしますが、先日はWebSocketをテーマに勉強会を 行いましたので、今回その内容をダイジェスト版でお送りします。 1.WebSocketとは? そもそもWebSocketとは何なのでしょうか? WebSocketとは、クライアント(ブラウザ)とサーバ間で 当の意味での全二重(双方向)通信を行うためのプロトコルです。 もともとはHTML5の一部として、仕様の策定が進められていましたが その後独立し、単体のプロトコルとして仕様策定が進められています。 WebSocketの特徴としては次の点があげられます。 TCP上で動作 デフォルトポートは 80番 または 443番 明示的に切断しない限り接続され続ける⇒効率的に双方向通信が

    WebSocketを研究してみた | ワークフローシェアNo.1 株式会社エイトレッド
  • iOSでWebRTCが使えないからWebSocketとWebAudioで擬似ストリーミングしてみた - console.lealog();

    というわけで、またも会社の合宿で作ったものを紹介します。 そして前回に引き続き、なんかまた優勝しました(∩´∀`)∩ワーイ github.com ざっくりでよければ社内勉強会で発表したスライドがあるのでこっちを。 WebSocketでAudioStreamingしてみた 何を作ったのか 具体的な利用シーンはコレです。 イカしよーよ! じゃあイカデンワたてるわー あ、あたしiPhoneしか持ってないから無理だ・・ (せめて聞くだけでもできればな・・ とか、 イカやろうぜ! Skypeよろー 俺のPC、Skypeと相性悪いから通話なしで! (せめて携帯で聞くだけでもできたらな・・ とか。 そんなときのソリューションになればなーと思って作ったのがコレ。 やってること Pub: 配信する側 端末マイクからAudioStreamを拾う Web Audio APIで適当にノイズ処理 Web Audio

    iOSでWebRTCが使えないからWebSocketとWebAudioで擬似ストリーミングしてみた - console.lealog();
  • Node.jsからSocket.IOを使うための事前知識 - Qiita

    Node.jsからSocket.IOを使う上で知っておくべきWebSocketの背景やSocket.IOの知識についてまとめてみました。 後半はインストール方法とサンプルになります。 1. Socket.IOとは 1.1. HTTP クライアントからサーバーにリクエストを送り, サーバーはそれに対してレスポンスを返すというプロトコルです。 サーバーからクライアントに対してリクエストや通知を送信する方法は用意されていません。 1.2. ポーリング クライアントからサーバーに定期的にリクエストを送信する方法。 無駄なリクエストが増えてしまうという欠点があります。 1.3. WebSocket 2011年にRFC6455で仕様が提案されたサーバーとクライアントの双方向通信用のプロトコルで, 非同期かつ双方向の通信を可能にしています。 ブラウザのバージョンによってはサポートしていないものもあるので

    Node.jsからSocket.IOを使うための事前知識 - Qiita
  • PHPのみでHTML5のWebSocketを体験する方法 - susan-styleの日記

    今までFLASH等を使わないと出来なかったソケット通信ですが HTML5で出来るようになりました。 まぁこのページ見てる人は説明不要でしょうから詳細な説明は割愛 格的にはsocket.ioなどをインストールして〜というのがありますが PHPだけでサクッと体験したい方は続きを御覧下さい。 Saran Chamlingさんが作った「WebSocket Example」をダウンロード http://www.sanwebe.com/downloads/50-websocket-example すっごいシンプルな 「server.php(サーバファイル)」 「index.php(クライアントファイル)」 2つのファイルを解凍 仕組み的には 「server.php(サーバファイル)」をコマンドラインで実行、whileでループ 「index.php(クライアントファイル)」をブラウザから実行 という感

    PHPのみでHTML5のWebSocketを体験する方法 - susan-styleの日記
  • チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita

    今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べています。 ※「スマフォアプリ」として共通事項が多いのでそう表記しましたが、基的にスマフォアプリはiOSアプリとして書いてます。AndroidWindows Phoneなどは差異があったり読み替える必要があると思っています。 結論 後半で詳しく書きますが、今のところ以下の結論に至りました。 PUSH通知に全て依存する構成でもそれなりに動く PUSH通知 + 双方向通信処理(WebSocketなど)の併用がベスト 双方向通信処理はPusher・Firebaseなどのサービスに頼る or ws・Socket.IO・SignalR + 対応クライアントライブラリなどで自前実装 Pusherなど有名サービスのクローンOSS導入も良さそうです stevegraham/slanger edgurgel/po

    チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita
  • 1