MQTT的连接回路

2020-09-12 14:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,我在安全环境中将MQTT客户端连接到SAP IoT座舱经纪人时遇到问题。 (node.js/mqtt Skript,请参见下文)

在家里工作正常。 但是,如果我在公司环境中尝试使用skript,则会卡在连接循环中。

客户端离线
 客户关闭
 客户端重新连接
 客户关闭
 客户端重新连接

如何捕获错误? 我们打开了MQTT TCP端口8883,但这是否有必要?

example.js:

 const mqtt = require(" mqtt");
 [...]
 var connectOptions = {
   保持活跃:10,
   clientId:deviceAlternateId,
   干净:正确,
   reconnectPeriod:2000,
   connectTimeout:2000,
   cert:fs.readFileSync(certFile),
   密钥:fs.readFileSync(certFile),
   密码:fs.readFileSync(secretPasswordFile).toString(),
   rejectUnauthorized:错误
 };

 var Client = mqtt.connect(" mqtts://:8883",connectOptions);

 Client.on(" connect",function(){
   console.log("客户端连接");
 });

 Client.on("错误",函数(err){
   console.log(" Client ERROR:");
   console.log(err);
 });

 Client.on(" offline",function(){
   console.log("客户端离线");
 });

 Client.on(" reconnect",function(){
   console.log("客户端重新连接");
 });

 Client.on(" close",function(){
   console.log("客户端关闭");
 });

 [...] 

谢谢您的帮助

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,我在安全环境中将MQTT客户端连接到SAP IoT座舱经纪人时遇到问题。 (node.js/mqtt Skript,请参见下文)

在家里工作正常。 但是,如果我在公司环境中尝试使用skript,则会卡在连接循环中。

客户端离线
 客户关闭
 客户端重新连接
 客户关闭
 客户端重新连接

如何捕获错误? 我们打开了MQTT TCP端口8883,但这是否有必要?

example.js:

 const mqtt = require(" mqtt");
 [...]
 var connectOptions = {
   保持活跃:10,
   clientId:deviceAlternateId,
   干净:正确,
   reconnectPeriod:2000,
   connectTimeout:2000,
   cert:fs.readFileSync(certFile),
   密钥:fs.readFileSync(certFile),
   密码:fs.readFileSync(secretPasswordFile).toString(),
   rejectUnauthorized:错误
 };

 var Client = mqtt.connect(" mqtts://:8883",connectOptions);

 Client.on(" connect",function(){
   console.log("客户端连接");
 });

 Client.on("错误",函数(err){
   console.log(" Client ERROR:");
   console.log(err);
 });

 Client.on(" offline",function(){
   console.log("客户端离线");
 });

 Client.on(" reconnect",function(){
   console.log("客户端重新连接");
 });

 Client.on(" close",function(){
   console.log("客户端关闭");
 });

 [...] 

谢谢您的帮助

付费偷看设置
发送
1条回答
大简至美
1楼 · 2020-09-12 15:05.采纳回答

我建议您添加以下标签:用于Cloud Foundry环境的SAP Cloud Platform物联网,因为这与 设备连接。

我猜想在您的安全网络中,路由器可能配置为不让端口8883上的流量通过。 或者您可能配置了一个代理,但该代理不允许该流量通过。 我建议您向操作此安全网络的人员咨询。 解决方法1是改用REST(尤其是对于阻塞的端口)。 解决方法2是使用移动电话热点(如果仅用于演示或原型制作)。

在SAP,我们的IT部门设置了称为SAP-Guest/SAP-Internet的其他网段,从而允许直接互联网连接而无需 代理,不允许访问Intranet,也允许MQTT所需的端口。 物联网设备根据其MAC地址列入白名单。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答