【发布时间】:2015-10-03 02:46:08
【问题描述】:
我测试了一个示例代码并将 QOS 设置为 1。为什么即使订阅客户端已经收到消息,服务器也总是向订阅客户端发送消息,当我搜索 https://github.com/njh/ruby-mqtt/pull/58 这应该可以解决问题,因为在 MQTT规范订阅客户端应在收到消息后发送 PUBACK 以确认收到消息。我错过了什么吗?有什么建议吗?
sub.rb
require 'rubygems'
require 'mqtt'
MQTT::Client.connect('192.168.9.105') do |client|
client.get_packet('test'=>1) do |packet|
puts packet.inspect
end
end
pub.rb
require 'rubygems'
require 'mqtt'
# Publish example
MQTT::Client.connect('192.168.9.105') do |c|
c.publish('test', 'message 3', 0, 1)
end
【问题讨论】: