首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布到特定频道/组

发布到特定频道/组
EN

Stack Overflow用户
提问于 2015-08-24 00:12:15
回答 1查看 255关注 0票数 2

根据文档,get_subscription_channelrouter.py中给出了通道名称。

当我尝试更改retrun值时,它仍然有效。

如何将消息限制到特定的组/通道。我需要在前端做的事情。

代码语言:javascript
复制
from swampdragon import route_handler
from swampdragon.route_handler import BaseRouter


class ChatRouter(BaseRouter):
    route_name = 'chat-route'
    valid_verbs = ['chat', 'subscribe']

    def get_subscription_channels(self, **kwargs):
        return ['chatrm']

    def chat(self, *args, **kwargs):

        errors = {}

        if errors:
            self.send_error(errors)
        else:
            self.send({'status': 'ok'})
            self.publish(self.get_subscription_channels(), kwargs)


route_handler.register(ChatRouter)

代码语言:javascript
复制
function subscribe () {
    swampdragon.subscribe('chat-route', 'local-channel', null, function (context, data) {
        // any thing that happens after successfully subscribing
    }, function (context, data) {
        // any thing that happens if subscribing failed
    });
}
EN

回答 1

Stack Overflow用户

发布于 2015-12-28 18:24:41

我也遇到了同样的问题。这里的问题是,您没有将数据发布到您订阅了的通道。您订阅了名为'local-channel'的频道,但在您的router.py中,您正在发布或路由另一个名为'chatrm‘的频道的数据。这就是你没有收到任何通知的原因。有两种方法可以修复它。

1.您需要在router.py中更改get_subscription_channels方法,如下所示。

代码语言:javascript
复制
def get_subscription_channels(self, **kwargs):
    return ['local-channel']

2.更改subscription方法,如下所示:

代码语言:javascript
复制
function subscribe () {
swampdragon.subscribe('chat-route', 'chatrm', null, function (context, data) {
    // any thing that happens after successfully subscribing
}, function (context, data) {
    // any thing that happens if subscribing failed
});
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32168728

复制
相关文章

相似问题

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