首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Socket.io房间/名称空间-通配符可能吗?

Socket.io房间/名称空间-通配符可能吗?
EN

Stack Overflow用户
提问于 2016-11-23 10:26:06
回答 1查看 944关注 0票数 0

我有以下层次结构:Store -> Manager -> Assistant

Manager可以访问Assistant发送的所有内容,Assistant只能访问Manager具体提供的内容。

据我所知,我可以创建名称空间或房间,例如命名为manager_assistant1manager_assistant2等。

结果:Assistant (id: 1)听manager_assistant1。这很好。但是Manager呢?可以听manager_*吗?

我的当前客户端只监听流并输出发送到或从流中发送的数据。那可不好。

服务器

代码语言:javascript
复制
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');
});

客户端

代码语言:javascript
复制
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); 
    }
});

有什么想法吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-23 10:36:42

您可以在更高的层次上创建一些逻辑,使用通道,并尝试发送您的商业数据在json例如。

试着像那个https://www.npmjs.com/package/sockjs-rooms那样的包

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40761785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档