Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基本的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内
いくつか記事があったけど、使うまでに結構苦労したのでメモ WebSocketを扱えるJMeterのプラグイン ぱっと見つかったのは以下の2つ。 jmeter-websocket JMeter-WebSocketSampler 前者はポートの指定がうまく認識されず「ポートが0番になっている」というようなエラーで止まってしまった(※あまり深く調査してない)ため、後者を使用する。 プラグインのインストール 基本的にはJMeterのインストールディレクトリ以下にプラグインのjarを配置するだけなのだが、実は依存関係にある他のjarも一緒に置かなければいけないという制約を見落としていて苦労した。また、プラグインのpom.xmlを見ると分かる通りJMeterのバージョンは2.10以上にしておく必要がある。 ここから「JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar」を
WebSocketの扱うサービスでは、長時間のコネクション、再接続処理、プロキシ、ロードバランサなど、インフラの面で多くの問題を抱えがちです。弊社のサービス「pixiv」の9周年企画でも、この問題に直面しました。 実際にそこで構築したインフラの事例をもとに、本運用に使えるWebSocketサーバの構成について、pixivインフラ部の南川からご紹介します。 * 9周年企画 “黒歴史”をロケットで宇宙に飛ばす pixiv黒歴史 そもそも WebSocket とは? WebSocketはTCP上で動く双方向通信のための通信規格です。 Webページの読み込みで行われているような、クライアントがサーバにデータを要求し、サーバはクライアントにレスポンスを返すというHTTPの通信ルールとは違います。サーバと長時間コネクションを確立し、Socketのようにデータのやり取りを行います。そして、コネクションを
WebSocket とは? Web 上でクライアント(Web ブラウザ)・サーバー間を常時接続にしておいて、双方向通信を低コストで実現するための技術規格。プロトコル。 WebSocket の何がありがたいのか? 近年 SNS アプリなどではインタラクティブで リアルタイム なやりとりが求められるようになってきました。 例えば、チャットアプリでは、複数のユーザーが同じページを見ているような状況で、誰かの発言が他のユーザーのページにもページのリロードなしでリアルタイムに更新されるようにしたい、ということがあると思います。 この リアルタイムに更新 という機能を実現するためには、誰かが発言したということを サーバーからクライアントに伝える必要があります。 このような機能を WebSocket は実現します。 クライアントからのリクエストがなくても、常時接続しているのでサーバーからクライアントに好
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows 8 と WebSocket プロトコル Kenny Kerr WebSocket プロトコルの目的は、接続を確立して要求と応答のペアを開始する全責任をクライアントが担う Web 環境で、双方向通信を実現することです。これにより、アプリケーションは TCP のメリットを Web に適した方法で活かすことができるようになります。WebSocket プロトコルは、2011 年 12 月にインターネット技術標準化委員会 (IETF) によって標準化されただけで、この記事の執筆時点では World Wide Web コンソーシアムでもいまだ検討中であることを考えると、Windows 8 でこの新しいイン
実はけっこう前からWebSocketの詳しい仕組みについて気になってて、遂に一念発起して調べてみた。何かとても良さげっぽい。 そもそもWebSocketとは Webにおいて双方向通信を低コストで行う為の仕組み。インタラクティブなWebアプリケーションではサーバから任意のタイミングでクライアントに情報の送信とかしたい事があって、例えばFacebookのチャットアプリみたいに多数のクライアントが一つのページにアクセスしてて誰かがメッセージを投稿するとそれをその他のユーザーに通知したい場合があって、そういった時に双方向通信の必要性が出てくる。 元々はWebにおいてはHTTPしか通信の選択肢が無くてHTTPのロングポーリング使って無理矢理双方向通信実現したりしてたんだけど、流石に無駄が多すぎるし辛いよねって事でWebSocketというプロトコルが作られた。 WebSocketにおいては、TCP上で
Artillery は yaml ファイルに宣言的にシナリオを記述し、シンプルなインタフェースで負荷をかけることができる Nodejs 製の負荷テストツールです。 本記事では Artillery を使用して簡単に WebSocket サーバの負荷テストを実行する方法を紹介します。 最小構成の WebSocket サーバ まずはじめに WebSocket サーバを実装しましょう。今回は Node.js を使用します。 必要最小限の機能だけを提供します。ws ライブラリを使用して簡単に実装しましょう。 const WebSocket = require("ws"); const wss = new WebSocket.Server({ port: 3000 }, () => { console.log("server is now listening localhost:3000"); });
Introducing WebSockets - Bringing Sockets to the Web Stay organized with collections Save and categorize content based on your preferences. The problem: Low latency client-server and server-client connections The web has been largely built around the so-called request/response paradigm of HTTP. A client loads up a web page and then nothing happens until the user clicks onto the next page. Around 2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く