導入 node.js で socket.io を使って、なんかゲーム作れないかな?と最近いろいろ試している。 そこで、例えばこういうケース ユーザが「部屋の新規作成」を選ぶと、新しいチャットルーム的なものができる に対応する場合、動的に名前空間を追加したくなる。 本題 socket.io で動的に名前空間を追加する際の情報って意外と少ないし、 なんか良さげな方法が見つかりにくいのでとりあえず自分が使っている方法を残す。 説明 クライアント側で、接続時に ID を送る socket.io は「クライアントがサーバに接続した時」というフックを持っている [サーバ側] io.configure(function () { io.set('authorization', function (handshake, callback) { // 処理 }); }); 上記のようにかける。 また、クライ
// initialize our modules var io = require("socket.io")(server), sessionStore = require('awesomeSessionStore'), // find a working session store (have a look at the readme) passportSocketIo = require("passport.socketio"); // With Socket.io < 1.0 io.set('authorization', passportSocketIo.authorize({ cookieParser: express.cookieParser, key: 'express.sid', // the name of the cookie where express/connec
intro 最近は Readme やら執筆原稿などで markdown を使うことが結構多かったりします。 markdown をレンダリングするツールは色々あるんですが、 エディタは好きなものを使いたいので、自分でレンダリングして、 ブラウザで確認できる何かがあればいいなぁと思ってました。 そんな時、 Github が markdown のレンダリングを API としてやっていたことを知りました。 Markdown | GitHub API しかも、サーバから叩くぶんには認証などもなく、 5000 回/時も叩けるということで、 それを使ってリアルタイムにレンダリングするツールを作りました。 使い方 インストールは $ npm install markup $ markup readme.md [3000]これだけです。 流行りに乗っかって?、ググラビリティの低い名前でリリースしてます。 m
Jasmineの使い方を覚えるために複数のWebSocketコネクションが協調して動作する、というよくありがちなシナリオのテストケースを書いてみた。非同期テストの書き方のページを読んでもよくわからなったので、最初わりと苦戦した。 メモ waitsForは、渡した関数がtrueを返すか指定したタイムアウトまで待つ runsに渡した関数は遅延評価される waitsForの結果を待つ場合はrunsを使う setUpとtearDownが無いので、runsを最初と最後に使う waitsForを含むit以降のdescribe内のitは遅延評価される コード Jasmine以外にライブラリはSenchaとSocket.ioを使っている。 var appServerUrl = 'http://dev.hagino3000.com:8888'; describe("Chat Test", function(
初socket.io。streaming API試すのはありがちだけどググってもsocket.ioのバージョン古い版しかなくてよくわからんかった。 とりあえずこんな感じで動いた。socket.ioのバージョンは0.8.4。 // server var io = require('socket.io').listen(8000) , confy = require('confy') , TwitterNode = require('twitter-node').TwitterNode; confy.get('twitter', { require: { username: '', password: '' }}, function(err, conf) { var twitter = new TwitterNode({ user: conf.username, password: conf.
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
8月3日現在 Node stable v0.4.10, Socket.IO v0.7.7 表80をnginx->裏3000とかでsocket.io動かしてる場合WebSocketはダメでもxhr-pollingとかなら80に繋ぎにいっても動くはず、と思って試してみてるけど動かない、、どうなってるんだろうコレ 2011-08-03 12:03:16 via Twitter for Mac socket.io v0.6系だと動くようなのに0.7で動かない? 2011-08-03 12:04:11 via Twitter for Mac というところでハマっていた。 nginxを使ってreverse proxyする場合、Socket.IOのWebSocket接続は 表側に繋がずに裏側のportを指定して繋ぐ nginx_tcp_proxy_moduleを使って通す あきらめる のどれかだと思う。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く