WebSocketsの接続状態には、CONNECTING / OPEN / CLOSING / CLOSEDのステートが定められている。 一方、CLOSING状態への遷移に対応するイベントは存在せず、CLOSE状態へ遷移した際にcloseイベントが発生するとされている。 つまり、「closeイベントが来るまでは送信できるぜー」ってなコードを書いてると、正常系なのにsend()で例外発生する可能性がある。 なので、面倒だけど、 if (ws.readyState == 1) { ws.send(...); }のようなガードを入れる必要がある*1。もしくは、ws.readyState == CLOSING 状態になったらcloseイベントのハンドラを呼び出すようなラッパーを書く必要がある。 と、以上の結論に至ったんですが、あってますでしょうか? >識者 以下、規格からの引用。 CONNECTI
DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ................................................
By Ilya Grigorik on December 22, 2009 WebSockets are one of the most underappreciated innovations in HTML5. Unlike local storage, canvas, web workers, or even video playback, the benefits of the WebSocket API are not immediately apparent to the end user. In fact, over the course of the past decade we have invented a dozen technologies to solve the problem of asynchronous and bi-directional communi
「レトロスペクティブ」というのはアジャイルソフト開発に良く使われる手法の1つなのですが、各イテレーション(反復期間)ごとに開かれる反省会のことです。各メンバーは「良かったこと」「悪かったこと」などをポストイットに書き出し、グループごとに分けたりしながら議論することで、次回のイテレーションに向けた改善点を探し出すという手法です。 では実際にコードの一部を見てみましょう。 まずはクライアントサイドのコードです。 pusher = new Pusher(Pusher.key); pusher.subscribe(Pusher.channel); pusher.bind('note-create', function(note) { generateNote(note); }); pusher.bind('note-destroy', function(data) { $("#note_"+dat
The WebSocket protocol has been touted as a great leap forward for bidirectional web applications like chat, promising a new era of simple Comet applications. Unfortunately there is no such thing as a silver bullet and this blog will walk through a simple chat room to see where WebSocket does and does not help with Comet applications. In a WebSocket world, there is even more need for frameworks li
近年、AjaxやHTTPそのものの代替としてWebSocketの実装や永続的接続の話題が絶えないが、今回はこれに関して検証してみることにする。 永続的接続というのは、つまりはソケット同士の繋ぎっぱなしを意味する。C10K問題が騒がれているなかで、これは現実的なソリューションなのか考えてみよう。 まず永続的接続でリソースが奪われるという話だが、これは当を得た理屈ではない。現実にAjaxがあることを忘れている。Ajaxはリクエストが発行されるごとにコネクションを張り、相手のプロセスを1つ独占し、余計なヘッダ流し、余計なヘッダをもらい、本来なら数バイトで済むようなやりとりも1KB近く消費する。リソースを奪っているのはAjaxの方なのだ。 永続的接続であれば、単にサーバーに「get user 13」などと予め決めたプロトコルを流すとすぐ答えが帰ってくる。コネクションもヘッダもいらない非常に軽量なも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く