我正在尝试将 paho mqtt 客户端连接到运行 ubuntu 的 virtualbox 上的 vernemq 消息代理。我无法向代理发布消息并随后通过订阅同一主题来阅读该消息。当我尝试运行程序时,我没有收到任何错误或“与结果代码 rc 连接”的确认。我在本地 ubuntu 机器上尝试过同样的事情,它可以工作。下面是我的 vernemq.conf 文件和 client.py 文件,用于发布和订阅。accept_eula = yesallow_anonymous = onallow_register_during_netsplit = offallow_publish_during_netsplit = offallow_subscribe_during_netsplit = offallow_unsubscribe_during_netsplit = offallow_multiple_sessions = offcoordinate_registrations = onmax_inflight_messages = 20max_online_messages = 1000max_offline_messages = 1000max_message_size = 0upgrade_outgoing_qos = offlistener.max_connections = 10000listener.nr_of_acceptors = 10listener.tcp.default = 127.0.0.1:1883listener.vmq.clustering = 0.0.0.0:44053listener.http.default = 127.0.0.1:8888systree_enabled = onsystree_interval = 20000graphite_enabled = offgraphite_host = localhostgraphite_port = 2003graphite_interval = 20000shared_subscription_policy = prefer_localplugins.vmq_passwd = offplugins.vmq_acl = onplugins.vmq_diversity = offplugins.vmq_webhooks = offplugins.vmq_bridge = offmetadata_plugin = vmq_plumtreevmq_acl.acl_file = /etc/vernemq/vmq.aclvmq_acl.acl_reload_interval = 10vmq_passwd.password_file = /etc/vernemq/vmq.passwdvmq_passwd.password_reload_interval = 10vmq_diversity.script_dir = /usr/share/vernemq/luavmq_diversity.auth_postgres.enabled = offvmq_diversity.postgres.ssl = offvmq_diversity.postgres.password_hash_method = cryptvmq_diversity.auth_cockroachdb.enabled = offvmq_diversity.cockroachdb.ssl = onvmq_diversity.cockroachdb.password_hash_method = bcryptvmq_diversity.auth_mysql.enabled = offvmq_diversity.mysql.password_hash_method = passwordvmq_diversity.auth_mongodb.enabled = offvmq_diversity.mongodb.ssl = offvmq_diversity.auth_redis.enabled = offvmq_bcrypt.pool_size = 1log.console = filelog.console.level = infolog.console.file = /var/log/vernemq/console.loglog.error.file = /var/log/vernemq/error.log有人可以指出我在这里做错了什么。我的最终目标是将这个 vernemq 代理与 AWS IoT 连接起来。谢谢!
2 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
你永远不会到达, client.loop_forever()因为你永远不会while (True)在它之前退出循环。
更改client.loop_forever()为client.start_loop()并将其移动到while (True)循环之前。
繁花如伊
TA贡献2012条经验 获得超12个赞
如果您在 VirtualBox 中运行并且脚本在主机中运行,您将无法访问 127.0.0.1 上的 VerneMQ,您需要获取 VM 的 IP 并通过以下方式连接到该 IP:
VBoxManage guestproperty get <vmname> "/VirtualBox/GuestInfo/Net/0/V4/IP"
参考https://www.virtualbox.org/manual/ch08.html
添加回答
举报
0/150
提交
取消
