まらんさんのチラ裏

その日暮らしのおじさん

socket.io 1.0 でいろいろ変更されてて大変だった

物凄く久しぶりに socket.io を使ってみたらいつのまにか 1.0 を迎えていたようで。 いろいろと互換性がなくなる変更があったようで、ちょっと古いコードを動かそうとしたら見事に怒られた。

まず socket#set, socket#get なんてメソッドないよって言われて混乱してたんだけど下記にようにやればいいらしい。

// 0.9 SET
socket.set('roomname', data, callback)
// 0.9 GET
socket.get('roomname', callback)

// 1.0 SET
socket.roomname = roomname;
// 1.0 GET
var roomname = socket.roomname;

あと io.sockets なんてないよって言われて困ったんだけど下記の通り。

// 0.9
io.sockets.socket(target).emit('message', message);
// 1.0
socket.to(socket.id).json.emit('message', message);

たぶんまだいっぱいハマりどころあると思うんだけど今のところこれぐらいしか困ってないのでわからない。