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做什么改变?
答案 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');
});