2016-11-23 32 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); 
    } 
}); 

任何想法?提前致謝!

回答

相關問題