0
我有以下層次:Store -> Manager -> Assistant
Socket.io房間/名稱空間 - 通配符可能嗎?
一個Manager
可以訪問一切由Assistant
發送時,Assistant
只能訪問什麼Manager
具體規定。據我所知,我可以創建namespaces or rooms,例如,我可以創建namespaces or rooms。 manager_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);
}
});
任何想法?提前致謝!