Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中通过MQTT连接到Google IoT core时出现问题_C_Google Cloud Platform_Mqtt_Google Cloud Iot - Fatal编程技术网

在C中通过MQTT连接到Google IoT core时出现问题

在C中通过MQTT连接到Google IoT core时出现问题,c,google-cloud-platform,mqtt,google-cloud-iot,C,Google Cloud Platform,Mqtt,Google Cloud Iot,我在这里设置了示例程序: 当我尝试运行该示例时,得到的唯一错误消息是: '连接失败,返回代码1' 然后我继续,尝试了NodeJs版本 使用相同的roots.pem、私钥和公钥,NodeJs示例可以完美地工作。我可以在谷歌控制台上查看收到的消息 有没有工具可以帮助我调试C示例的问题?或者对可能出现的问题有什么建议 谢谢, A发生这种情况的原因有很多,包括不支持的版本。提供了一些您应该首先验证的步骤,但是由于您是从NodeJS代码连接的,因此我们可以放弃一些建议。您可以使用gcloud检查错误: g

我在这里设置了示例程序:

当我尝试运行该示例时,得到的唯一错误消息是: '连接失败,返回代码1'

然后我继续,尝试了NodeJs版本

使用相同的roots.pem、私钥和公钥,NodeJs示例可以完美地工作。我可以在谷歌控制台上查看收到的消息

有没有工具可以帮助我调试C示例的问题?或者对可能出现的问题有什么建议

谢谢,
A发生这种情况的原因有很多,包括不支持的版本。提供了一些您应该首先验证的步骤,但是由于您是从NodeJS代码连接的,因此我们可以放弃一些建议。您可以使用gcloud检查错误:

gcloud iot devices describe DEVICE_ID --project=PROJECT_ID --region=REGION --registry=REGISTRY_ID

devices Descripte命令可能会显示其他错误消息,这些消息可用于帮助调试,包括验证设备的凭据是否未过期。虽然有些错误可能不会出现,但我的印象是会出现错误的用户名或密码错误

您是否更改了C:
.clientid=“projects/{your project id}/locations/{your region id}/registries/{your registry id}/devices/{your device id}”中的示例代码、
以及您必须输入信息的其他选项?是的,我已经设置了所有这些选项。C代码上的clientid与Java端的完全匹配。我刚刚在某个地方读到,默认情况下,MQTT协议可以默认为3.1,这是Google不支持的,因此我在C代码中设置了这一点:conn_opts.MQTTVersion=MQTTVersion_3_1_1,现在我得到了返回代码4,这是“连接被拒绝–用户名或密码错误”可能尝试打印JWT并在JWT.io上测试