2016-11-23 34 views
0

我有以下层次:Store -> Manager -> AssistantSocket.io房间/名称空间 - 通配符可能吗?

一个Manager可以访问一切由Assistant发送时,Assistant只能访问什么Manager具体规定。据我所知,我可以创建namespaces or rooms,例如,我可以创建namespaces or roomsmanager_assistant1,manager_assistant2

结果:Assistant(id:1)听manager_assistant1。没关系。但Manager呢?是否有可能收听manager_*

我当前的客户端只是监听流并输出发送到或发送的数据。那很糟。

服务器

var server = require('http').createServer(); 
var io = require('socket.io')(server); 
io.on('connection', function(client){ 
    client.on('myEvent', function(data) { 

     // do something with the data 
     // ... 

     // return the modified data 
     io.emit('myEvent', data); 
    }); 
}); 

server.listen(3000, function(){ 
    console.log('listening on port 3000'); 
}); 

客户

var socket = io.connect('http://example.com:3000/'); 
socket.emit('myEvent', { 
    from: 'assistant1', 
    to: 'manager', 
    key: 'value' 
}); 

socket.on('myEvent', function(data) { 
    var user = 'assistant1'; // or 'manager', 'assistant2', ... 
    if (data.from == user || data.to == user) { 
     console.log(data.key); 
    } 
}); 

任何想法?提前致谢!

回答

相关问题