server.js 1.49 KB
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var wsock = require('wsock');
var Dequeue = require('dequeue')
global.navigator = {
  userAgent: 'node.js'
};
navigator.getUserMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

app.get("/",function(req, res){
  res.sendfile("client.html");
});

var count=1;

io.on('connection', function(socket){
  console.log('user connected: ', socket.id);
  var name = "anonymous#" + count++;
  var lists = new Dequeue();
  io.to(socket.id).emit('change name',name);

  socket.on('disconnect', function(){
    console.log('user disconnected: ', socket.id);
  });

  socket.on('send message', function(name,text){
    var msg = name + ' : ' + text;
    console.log(msg);
    io.emit('receive message', msg);
  });

  socket.on('send list', function(name,list){
    var temp = '[KY 금영노래방] '+list;
    lists.push(temp);
    console.log(lists);
    var msg = name + '의 곡 - ' + list + '가 등록 되었습니다.';
    console.log(msg);
    if (lists.length==1)
    {
      io.emit('receive message list first', msg, temp);
    }
    else {
      io.emit('receive message list', msg);
    }

  });

  socket.on('done', function(){
    var g=lists.shift();
    io.emit('play',g);
  });

});

http.listen('3000', function(){
  console.log("server on!");
});