面试题答案
一键面试- 安装mqtt-ruby库:
在Gemfile中添加
gem 'mqtt'
,然后运行bundle install
,或者直接运行gem install mqtt
。 - 关键代码片段:
require 'mqtt'
# 建立连接
client = MQTT::Client.connect(
host: 'your_mqtt_broker_host',
port: 1883,
username: 'your_username',
password: 'your_password'
)
# 订阅主题
client.subscribe('your_topic') do |topic, message|
puts "Received message on topic #{topic}: #{message}"
end
# 保持连接
client.loop_forever
在上述代码中:
MQTT::Client.connect
方法用于建立与MQTT代理的连接,其中host
指定代理的主机,port
指定端口(默认为1883),username
和password
是可选的认证信息。client.subscribe
方法用于订阅指定的主题,块中的代码会在接收到该主题的消息时执行。client.loop_forever
方法用于保持连接并持续接收消息。实际使用中,可能需要处理异常、配置更多连接参数等。