使用节点js的多通道白板

时间:2014-01-17 12:46:00

标签: javascript html5 sockets

Hi All Node JS专家:

我已经使用socket.io构建了一个白板上的节点js,如下所示:

server.js

var io = require('socket.io').listen(6060);

io.sockets.on('connection', function (socket) {
  socket.on('mydraw', function (data) {
    console.log(data);
    socket.broadcast.emit('mydraw', data);
  });

var io = require('socket.io').listen(6060); io.sockets.on('connection', function (socket) { socket.on('mydraw', function (data) { console.log(data); socket.broadcast.emit('mydraw', data); });

客户端使用带有画布的html5调用http://www.mysrver.com:6060。现在问题是谁在{60}端口连接到端口6060上的clinet html 能够在画布上画线。

我想让它基于频道...意味着在同一个端口6060上。用户可以加入多个频道以使绘图私密。 〔实施例:

用户a 用户b

可以加入并绘制到

此处频道名称= 1234

用户c 用户d

可以加入并绘制到http://www.mysrver.com:6060/1234

此处频道名称= 5678

我需要在server.js做什么改变?

1 个答案:

答案 0 :(得分:0)

你应该utilize the 'rooms' functionality

io.sockets.on('connection', function (socket) {
  socket.on('mydraw', function (data) {
    console.log(data);
    socket.broadcast.to('roomName').emit('mydraw', data);
  });

  socket.join('roomName');
});