mqtt - 无法连接到 test.mosquitto.org

标签 mqtt esp8266 nodemcu

我正在研究 esp8266 并尝试连接到 test.mosquitto.org。
这是我从网上得到的

m = mqtt.Client("clientid", 60, "user", "password")
m:on("connect", function(con) print ("connected") end)
m:on("offline", function(con) print ("offline") end)
m:on("message", function(conn, topic, data) 
  print(topic .. ":" ) 
  if data ~= nil then
    print(data)
  end
end)

m:connect("http://test.mosquitto.org/", 1883, 0, function(conn) print("connected") end)
m:subscribe("/topic",0, function(conn) print("subscribe success") end)
m:publish("/topic","hello",0,0, function(conn) print("sent") end)
m:close();

我不确定从哪里获得 clientId 、user 和 pass,

这是我得到的:
DNS 重试 1!
DNS重试2!
DNS重试3!
DNS 重试 4!
DNS 失败!

最佳答案

问题是连接字符串开头的 http://和结尾的/

connect 命令只需要一个主机名而不是一个 URL,即使是这样,您也希望通过 tcp://test.mosquitto.org 或 mqtt://test.mosquitto.org

...
m:connect("test.mosquitto.org", 1883, 0, function(conn) print("connected") end)
...

另外顺便说一句,您的主题不应该以/开头,这只会在主题树的开头添加一个额外的不必要的空值。

关于mqtt - 无法连接到 test.mosquitto.org,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617512/

相关文章:

arduino - 如何使用esp8266将Arduino连接到pubnub云?

lua - 无法从 NodeMCU 板连接到 Wi-Fi 网络

php - Lua发送json请求体

iphone - 如何在 iOS 中创建一个后台线程,该线程在应用程序从 View 中隐藏后继续

java - Paho MQTT cleanSession 设置为 false 但未收到消息

c - esp-gdbstub 编译错误

http - ESP8266 HTTP 请求在中断时失败

lua - 使用 Wifi 将 Lua 脚本上传到 NodeMCU

javascript - 只有在大 for 循环结束后才会调用回调

mqtt - 如何使用 native MQTT 设置 Azure IoT 中心 "System Properties"?