我使用mosquitto作为经纪人和paho(python)作为客户。我正在尝试让订阅者接收离线消息。
为此我做了以下更改:
但是,订阅者仍然无法接收消息。
任何帮助?
谢谢, 拉胡
答案 0 :(得分:13)
为了让您的客户端成为持久客户端并接收在脱机时发送给主题的消息,您需要满足以下条件:
我经常犯的错误是忘记了第3点和第4点中的任何一个,所以我发布QoS = 0或订阅QoS = 0,其中任何一个都会导致消息无法存储。
您还可以查看from selenium import webdriver
browser = webdriver.Chrome('/Users/xinmei/Documents/program/python/seleniumproject/ webdrivers/chromedriver')
print("start")
browser.get('http://www.yahoo.com')
print("get")
assert 'Yahoo!' in browser.title
elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
browser.quit()
选项,告诉代理也存储QoS = 0消息。请注意,这是一个可能特定于mosquitto的实现细节。
答案 1 :(得分:1)
检查在将消息发布到主题时是否已将retain标志设置为true,使用retain = true,订阅该主题的新连接客户端将收到保留的消息。