ModuleClient直接方法连接停止工作

时间:2019-06-25 08:23:03

标签: azure azure-iot-edge

raspberry pi 3 [armv7]上的azure-iot-edge模块上的直接方法连接器将可用,我可以向其提出请求,但是大约30分钟至几小时后,连接将停止工作。

我已经将原始模块重写为较小的模块,因此连接器的逻辑是独立且非常简单的,还使用dotnet sdk和nodejs sdk对其进行了编写。当前物联网edgeHub版本是azureiotedge-hub:1.0.7

DotNet版本

static async Task Init()
{
    MqttTransportSettings mqttSetting = new MqttTransportSettings(TransportType.Mqtt_Tcp_Only);
    ITransportSettings[] settings = { mqttSetting };

    ModuleClient ioTHubModuleClient = await ModuleClient.CreateFromEnvironmentAsync(settings);
    await ioTHubModuleClient.OpenAsync();
    await ioTHubModuleClient.SetMethodHandlerAsync("powerset", DirectMethod1, ioTHubModuleClient);
}

NodeJs版本

ModuleClient.fromEnvironment(Transport, function (err, client) {

 if (err) {
    console.log('error:' + err);
  } else {
  client.open(function (err) {
    if (err) {
      console.error('could not open IotHub client');
    } else {
      client.onMethod('powerset', function (request, response) {
        readMessage(client, request, response);
      });
    }
  });
}

}

发生的情况是,这些直接消息在首次部署/启动时可以被调用,但是很快就变得不可用。他们要么开始超时,要么开始返回“未找到”。

0 个答案:

没有答案