環境概要
- NodeJS v4.2.1
- Socket.io v1.3.7
Socket.ioがv1.3.7から4に対応して動作確認が取れたので更新しました
作る
今回はシンプルに。そういえばSocket.ioってhttpも扱ってるからhttpサーバーを渡す必要があるんですね。
var http = require('http');
var socketIo = require('socket.io');
var redisAdapter = require('socket.io-redis');
var server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Node.js server.');
});
var io = socketIo.listen(server);
io.adapter(redisAdapter({host: '127.0.0.1', port: '6379'});
server.listen(8080);
セッション共有
socket.ioも便利になって、セッション共有楽になりましたよね。
var cookieParser = require('cookie-parser')();
var session = require('cookie-session')({ secret: 'secret key'});
io.use(function(socket, next) {
var req = socket.request;
var res = {};
cookieParser(req, res, function(err) {
if(err) return next(err);
session(req, res, next);
});
});
io周り
io.sockets.on('connection', function(socket) {
// 処理内容
});
// 名前空間切る場合
var ActivityIo = io.of('/activity');
ActivityIo.on('connection', function(socket) {
// 後は一緒
});
最後に
おーわり。
何か間違えているかもなので、間違えてたら教えていただければ幸いです。
最近になってやっとNode.jsとSocket.io分かるようになってきたので嬉しい