Я впервые использую 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;
Можете ли вы предложить какую-либо конфигурацию или способ реализации постоянной подписки на темы?
Большое спасибо.