Перестаёт работать прямой метод ModuleClient - PullRequest
0 голосов
/ 25 июня 2019

Будет доступен соединитель прямого метода на модуле azure-iot-edge на Raspberry Pi 3 [armv7], и я могу делать запросы на него, однако через 30 - несколько часов соединение перестает работать.

Я переписал исходный модуль на меньшие модули, поэтому логика для коннектора является отдельной и очень простой, также я написал его с помощью dotnet sdk и nodejs sdk.В настоящее время версия iot edgeHub является azureiotedge-hub: 1.0.7

DotNet Version

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 Version

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);
      });
    }
  });
}

}

Что происходит, когда эти прямые сообщения можно назватьпри первом развертывании / запуске, но вскоре они становятся недоступными.Они либо начинают тайм-аут, либо начинают возвращать сообщение «Не найдено».

...