如何取消订阅pubnub通道Python SDK

时间:2014-04-17 09:18:30

标签: python pubnub

我正在使用带有python SDK的pubnub。 我有一些用python编写的测试环境,我正在尝试编写python代码来添加pubnub客户端订阅频道和取消订阅。在服务器中,我正在检查服务器是否加入并留下消息(我正在使用在线信道)。

问题是,当线程死亡时,我没有得到离开消息,我没有在python代码中看到任何取消订阅调用以进行显式取消订阅。

有什么想法吗?

感谢。

我的代码看起来像这样:

    def main(user_id,channel_name):
        t = Thread(target=rt_subscribe,args=(user_id,channel_name))

    def rt_subscribe(user_id,channel_name):
        def get_message(msg):
            print 'got message: %s' % msg
            return True

        pb = Pubnub(publish_key=PUBLISH_KEY, 
                  subscribe_key=SUBSCRIBE_KEY, 
                  pres_uuid=user_id,
                  ssl_on=False)
        pb.subscribe({
                   'channel'  : channel_name,
                   'callback' : get_message 
                })

1 个答案:

答案 0 :(得分:0)

PubNub Python SDK取消订阅

这里有几件事需要考虑,第一件事是使用正确的SDK来完成工作,因为PubNub有3个可用的Python SDK选项。您也可以使用简单的REST调用强制调用Leave Event。但首先,如果您想通过Python取消订阅,可以考虑使用我们的 Python Twisted SDK。

  

GitHub Repository for PubNub Python Twisted SDK - 立即下载

您将按如下方式发出订阅和取消订阅:

pubnub.subscribe({ 'channel' : chan, 'callback' : receive_processor })
pubnub.unsubscribe({ 'channel' : chan })

是。就这么简单。 : - )

PubNub强制离开事件

您可以使用以下格式发出REST呼叫,以强制在频道上发送离开事件。

https://pubsub.pubnub.com/v2/presence/sub_key/YOUR_SUB_KEY/channel/YOUR_CHANNEL/leave?uuid=YOUR_USER_UUID
相关问题