Тайм-аут подписки ActiveMQ в приложении C # - PullRequest
0 голосов
/ 14 декабря 2018

Я впервые использую ActiveMQ для связи мобильного и облачного приложения.Идея заключается в том, что мобильное устройство будет отправлять сообщения по некоторым темам, и на них подписано облачное приложение.

Моя проблема в том, что через несколько минут (не фиксированное значение), даже когда мобильное приложение отправляет данныеоблачное приложение отписывается от брокера, и мне нужно сбросить облачное приложение, чтобы снова подписаться и не потерять сообщения.Для облачного приложения я использую клиент M2MQTT Paho.Это код, который я пишу для подключения и подписки на темы:

client = new MqttClient(MiddlewareAccountInfo.AWS_WSD_ENDPOINT, 
  MiddlewareAccountInfo.AWS_WSD_PORT, true, null, null, 
  MqttSslProtocols.TLSv1_2);

  client.ProtocolVersion = MqttProtocolVersion.Version_3_1_1;
  client.shouldReconnect = true;
  client.Connect(MiddlewareAccountInfo.ACTIVEMQ_CLIENTID,
            MiddlewareAccountInfo.ACTIVEMQ_USERNAME, 
            MiddlewareAccountInfo.ACTIVEMQ_PASSWORD, true, 60);

  ushort msgIdIOS = client.Subscribe(new string[] { "queue-iOS" },
             new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });

  ushort msgIdAndroid = client.Subscribe(new string[] { "queue-android" },
             new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });

  ushort msgIdClearDB = client.Subscribe(new string[] { "clear-database" },
             new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });

  client.MqttMsgPublishReceived += client_MqttDataPublishReceived;

Можете ли вы предложить какую-либо конфигурацию или способ реализации постоянной подписки на темы?

Большое спасибо.

...