如何在Python SDK中取消订阅pubnub频道
我正在使用 pubnub 的 Python SDK。
我有一些用 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 个回答
1
PubNub Python SDK 取消订阅
在这里有几个需要考虑的事情,首先是要使用正确的SDK,因为PubNub提供了三种Python SDK可供选择。此外,你还可以通过简单的REST调用强制触发一个离开事件
。不过,如果你想通过Python取消订阅,建议使用我们的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