ワイズリマインダー

Socket.IOの送信コマンド

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'); });

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください