追記 11/11/22 コメントに頂いた Draft とフォールバックの表記を修正 本文 この手の話に統一したタイトルが欲しいんですが、先が見通せないのでどういうタイトルがいいのかわからないでいます。。 今回は最近の Socket.IO 周辺のアップデートについてまとめます。 QConf@SF まず、 Qconf@SF で Guillermo が Socket.IO について重要なトークをしています。 資料は以下。 http://qcon-sf.nodejitsu.com/ この発表とともに LearnBoost はいくつかの新プロダクトを発表しました。 LearnBoost/websocket.io · GitHub LearnBoost/engine.io · GitHub LearnBoost/browserbuild · GitHub guille/latency-io · Git
すぎゃーん💯 @sugyan [JavaScript][WAF]ほえぇ。JavaScript製WAFか。使う場面は思い浮かばないけどスゴいな / “Meteor” http://t.co/R6tzVbEf yomukaku_memo @yomukaku_memo meteorはとても面白い。すごくisomorphic。ただし、ほんの少し触ってみた感じでは、サーバーのコードもクライアントのコードも表にダダ漏れの露出狂状態になる。きっとまっとうな書き方があるはず。 #meteor
codestre.am: streaming your code to the massesというWebサービスがヤバい。 他人のターミナルでの操作と出力をライブで見られるし、記録されたものを後から再生して見ることもできる。 試しに書いてuploadしてみた。 http://codestre.am/1 簡単なFizzBuzzワンライナー http://codestre.am/3X tmuxを起動してその上でemacsでコード書いたりしても再現できる 仕組みとしてはnpm install -g codestreamでインストールしたコマンドを起動すると、socket.io-clientでサーバに繋ぎ、子プロセスとしてbashを立ち上げて操作させつつ、ターミナルの出力を拾って時刻情報を付加してサーバに送信している、ようだ。サーバ側はおそらくそれぞれ保存しておいて時間順に出力することで再生させて
追記 11/12/26 MLのスレッドへのリンクが間違っていたので修正。 introduction WebSocket なんかをつかって、従来のステートレスな処理以外に、コネクションを継続するステートフルな処理が可能になりました。 これを利用すると、これまで実装が難しかったリアルタイムな表現を Web に持ち込むことができます。 そして、 WebSocket を用いたプログラムを作成する上で、Node.js と Socket.IO を用いる方法について、 今年はこのブログでも何度か紹介してきました。 今日は今年一年の集大成として、自分が色々試しながら得たリアルタイム Web に関する知識、技術などを、 ここにまとめてアウトプットしたいと思います。 今回お話しするのは、 東京Node学園 3時限目 : ATND で発表した下記内容の抜粋です。 Node Academy | "About Sl
小ネタ。 nodeのsocket.ioが0.7以降だと、0.6の頃よりもデフォルトのログレベルが高くて、debugモードのログま出てきてちょっと見難くなってしまう場合がある。 そんなとき、ログレベルを下げるには Log Level Control - Socket.IO | Google Groups http://groups.google.com/group/socket_io/browse_thread/thread/06da59261cac1b09 var io = require( 'socket.io' ).listen( app ); io.set( "log level", 1 ); でいけます。 ところで、この場合のログレベルって「下げる」でいいのかな? たくさんログ出る方を「上げる」って言うよね?
前回の記事で話にあげていた Socket.IO と AS3 で簡単に WebSocket 通信できるライブラリについて、 何か物を作るのに必要そうな機能を一通り実装できたので github で公開しました。 ライブラリは以下 github からリポジトリをクローンするか、zip をダウンロードして入手できます。 GFS.I.OAS3 - GitHub https://github.com/glassesfactory/GFS.I.OAS3 github リポジトリで、ごく簡単ではありますがサンプルの紹介と使い方の説明をしています。 既に色々と手馴れているかたはリポジトリに書かれている使い方と ASDoc を読めば何となく使えるかと思います。 この記事では、前回 Socket.IO サーバー周りなど色々と省きまくってしまったので、そこも含め解説して行きたいと思います。 作った経緯 前
本文 Socket.IO のソースを眺めていると色々面白いことがわかります。 master がガンガン新機能を実装していて、現時点でもアンドキュメントな API もいくつかあるし、結構ソースは読みやすい方なので勉強になります。 で、最近また最新のを読んでたら色々面白そうな機能があって、「あるんならちゃんとドキュメントに書いてよ。。」などと思ってたら、ついさっきコミッタの 3rdEden がこのスライドを公開してました。 http://www.slideshare.net/3rdEden/going-real-time-with-socketio まだ未発表の新機能だっただけのようです(でもそういう機能も master にばっちりあるんだな。develop ブランチ一応あるんだけどw)。 おそらく次のバージョンアップは、また割と大きくなると思います。折角なので手元のメモを公開して、今のうちに
Chrome 14からWebSocketプロトコルのバージョンがdraft 10になる。現在、Chrome 13はdraft 76で実装されておりdraft 76とdraft 10は互換性がない。WebSocketを使った既存のサービスは壊れるのでdraft 10で実装されたWebSocketServerを探しときの情報をまとめた。 ■New WebSocket Protocol: Secure and Extensible Please note that the new protocol is incompatible with one which Chromium previously supported (draft-ietf-hybi-thewebsocketprotocol-00), so existing WebSocket-based services may break.
Authentication/authorization等の結果によりSocket.ioのサーバーに既に接続されているクライアントのsocketを強制的にdisconnectしたい場合はサーバー側でシンプルにsocket.disconnect();します。 ほんの少しだけ詳しく書くと、クライアントの強制disconnectのためのサーバー側のコードは次のようになります。io.of('/admin').on('connection', function(socket) { if (.....) { socket.disconnect(); } });認証も認可も受けていないクライアントが、管理者専用の/adminチャンネルにmessageやeventを送ろうとしたり、/adminチャンネルが発行するmessageやeventを受け取ろうとした場合に、socketを強制的にdisconnect
Google グループ socket.io本体の方はちょっとよく分からない。以前書いた問題の修正はまだ取り込まれていないようなので注意 socket.io-clientは0.7.5になって単体でNodeからrequireして使うことができるようになった。 var io = require('socket.io').listen(3000); io.sockets.on('connection', function (socket) { console.log('connection'); setInterval(function () { socket.emit('hoge', { fuga: 'piyo' }); }, 1000); }); とか適当なsocket.ioサーバを立ち上げておいて、 var io = require('socket.io-client'); var sock
ローカル環境のnodeプログラムからsocket.ioに繋ぎたい場合、やっぱりnode-websocket-clientとかでゴニョゴニョするしかないのかな? socket.io-clientをrequireするだけで使えたら素敵なのだけど 2011-08-04 11:06:48 via Twitter for Mac socket.ioのtestではcommon.jsというところにwebsocketでhandshakeして接続するコードがあったので、そこから拝借。 var io = require('socket.io'); var http = require('http'); var WebSocket = require('websocket-client').WebSocket; var parser = io.parser; function HTTPClient (host,
追記 11/7/31 Socket.IO v0.7 解説を最初に途中までで出す。 11/8/1 だいたい全部新機能なので '(新機能)' って書くのやめた。 11/8/4 オプションの設定周りを追記 11/8/6 認証周りを追記 11/8/12 スタンドアローンのサンプルを追記 11/9/27 Socket.IO v0.8 対応について追記 11/9/27 タイトルを Socket.IO API 解説に変更 11/9/27 翻訳サイトリンク追加 公式マニュアル翻訳サイト そういえば公式サイトの翻訳をフォークしたリポジトリで、それなりの更新頻度でやってます。 リポジトリの wiki も地味に訳しててこっちは結構役に立ちます。本記事と合わせてどうぞ。 本家 http://socket.io/ 翻訳ページ http://jxck.github.com/socket.io wiki https:/
2011/03/02:いろいろ間違ってたので追記・修正 WebSocket = 3000じゃないですね.どっかで誤認したまま記事を書いてたようです.すみません.(手探り系だとよくあることですよね!) はてブのコメントに私信 port 3000 で動かしてる node.js にapache でリバースプロキシしてるなら、単に apache が websocket の proxy に対応してないだけでは?WebSocket に対応した Reverse Proxy ならポートなんてあける必要ないよ。http://bit.ly/gKplDu コメントありがとうございます. 構成はnode.jsとsocket.ioを使って接続する実装サンプルと,ポートの設定周りをごく基本的にな感じでして,apacheは使っていないです.ポート開けなくても済むならそのほう良さそうなので,もうちょい迷走してみます. 2
Node と言えば、Socket.IO といっても過言ではないほど、Socket.IO は Node にとって大きい存在です。 先の NodeConf で、この Socket.IO の作者 [twitter@rauchg] より、 Socket.IO v0.7 にむけたロードマップについての発表がありました。 新機能や API の改善等、重要な変更があるようなので一部を紹介したいと思います。 資料は以下。 Socket.IO(0.7) (注 2011/05/31 現在 v0.7 はブランチで開発中であり、以下の紹介は上記資料をもとに書いているため、実行確認はしていません。 正式にリリースされた場合は、実装をもとに別途エントリを作成すると思うので、このエントリ自体は更新されない予定です。) API の改善 サーバインスタンス これまでは、ソケット通信を確立するためには、 http サーバイン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く