let app = require('express')();
let http = require('http').Server(app);
let io = require('socket.io')(http);
let rooms = {};
io.sockets.on('connection', function(socket){
socket.on('connected', function(opts){
// room名の保存
rooms[socket.id] = 'RoomId';
// roomへ入室
socket.join(rooms[socket.id]);
// 自分自身へ送信
io.to(socket.id).emit('HOGE');
// 自分以外の全員へ送信
socket.broadcast.emit('HOGE');
// 同じroom内の自分以外へ送信
socket.broadcast.to(rooms[socket.id]).emit('HOGE');
});
socket.on('disconnect', function(){
if(socket.id in rooms){
// roomから退室
socket.leave(rooms[socket.id]);
// room名の解放
delete rooms[socket.id];
};
});
});
http.listen(3000, function(){ console.log('listen on *:3000'); });
コメントを残す