我正在使用带有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
})
答案 0 :(得分:0)
这里有几件事需要考虑,第一件事是使用正确的SDK来完成工作,因为PubNub有3个可用的Python SDK选项。您也可以使用简单的REST调用强制调用Leave Event
。但首先,如果您想通过Python取消订阅,可以考虑使用我们的 Python Twisted SDK。
您将按如下方式发出订阅和取消订阅:
pubnub.subscribe({ 'channel' : chan, 'callback' : receive_processor })
pubnub.unsubscribe({ 'channel' : chan })
是。就这么简单。 : - )
您可以使用以下格式发出REST呼叫,以强制在频道上发送离开事件。
https://pubsub.pubnub.com/v2/presence/sub_key/YOUR_SUB_KEY/channel/YOUR_CHANNEL/leave?uuid=YOUR_USER_UUID