无法连接到 test.mosquitto.org
not able to connect to test.mosquitto.org
我正在使用 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 失败!
尝试使用 IP 而不是名称:
m:connect("85.119.83.194", 1883, 0, function(conn) print("connected") end)
如果可行,则表示您在解析网站名称时遇到问题(无论出于何种原因)。
问题是连接字符串开头的 http:// 和结尾的 /
connect 命令只需要主机名而不是 URL,即使需要,您也希望通过 tcp://test.mosquitto.org 或 mqtt://test.mosquitto.org
...
m:connect("test.mosquitto.org", 1883, 0, function(conn) print("connected") end)
...
另外,您的主题不应以 / 开头,这只会在主题树的开头添加一个不必要的空值。
RE 原始问题:我在没有最后一个参数的情况下使用它作为
m = mqtt.Client(clientID, 60)
和clientID
是您想要的任何名称,以区别于其他客户(例如"Ankit"
)。
主题应该更多地描述负载(例如 "message"
)而不是笼统的 /topic
。
还要注意前面的答案,连接使用服务器的 IP(例如 "85.119.83.194"
)或主机名(例如 "test.mosquitto.org"
)。
HTH
我正在使用 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 失败!
尝试使用 IP 而不是名称:
m:connect("85.119.83.194", 1883, 0, function(conn) print("connected") end)
如果可行,则表示您在解析网站名称时遇到问题(无论出于何种原因)。
问题是连接字符串开头的 http:// 和结尾的 /
connect 命令只需要主机名而不是 URL,即使需要,您也希望通过 tcp://test.mosquitto.org 或 mqtt://test.mosquitto.org
...
m:connect("test.mosquitto.org", 1883, 0, function(conn) print("connected") end)
...
另外,您的主题不应以 / 开头,这只会在主题树的开头添加一个不必要的空值。
RE 原始问题:我在没有最后一个参数的情况下使用它作为
m = mqtt.Client(clientID, 60)
和clientID
是您想要的任何名称,以区别于其他客户(例如"Ankit"
)。
主题应该更多地描述负载(例如 "message"
)而不是笼统的 /topic
。
还要注意前面的答案,连接使用服务器的 IP(例如 "85.119.83.194"
)或主机名(例如 "test.mosquitto.org"
)。
HTH