我如何使用错误的凭据连接到 mqtt 服务器?

How am I able to connect to mqtt server with wrong credentials?

我在 arduino 中为 mqtt 服务器提供了错误的凭据,但我仍然能够连接到 mqtt 服务器并从 nodemcu 板接收消息。 这是代码:

const char* mqttserver="broker.mqtt-dashboard.com";
 const char* clientid="clie"; //client1
 const char* username="sampleCli"; //sampleclient
 const char* password="clien"; //client123

我给错了clientid以及用户名和密码。我正在使用 mqtt box 作为 mqtt 代理。

这是连接到 mqtt 代理的代码

if(client.connect(clientid,username,password))
{
  Serial.println("connected");
  client.publish("topic1","connected");
}
else
{
  Serial.println("failed to connect");
  Serial.print(client.state());
  delay(5000);
}

我没有在串行监视器中得到任何 "failed to connect" 语句,而且 mqtt 代理从 nodemcu 板接收消息。 我犯了什么错误?

我的猜测是您没有将服务器设置为正确要求密码。

尝试使用 mosquitto_pub 之类的东西来确认服务器的行为是否符合您的预期,然后重试客户端代码。