Member 11790928 Ответов: 1

Как предотвратить закрытие приложения после получения нескольких публикаций?


Я создал консольное приложение, которое подписывается на несколько тем брокера MQTT. Я зарегистрировал MqttMsgPublishedReceived, который срабатывает всякий раз, когда появляются новые данные по подписанной теме. Приложение работает правильно для одной подписки. Но когда я попытался запустить несколько подписок, приложение закрывается. Как сделать событие MqttMsgPublisheReceived для обработки нескольких публикаций. Ниже приведен фрагмент моего кода.
я следовал следующему коду
for(int i=0;i<client.Length;i++)

{

subscribe(hostname,port,clientid);<pre>
}
public void subscribe()

{

 client.MqttMsgPublishReceived+=client_MqttMsgPublishReceived
<pre>}

public void client_MqttPublishReceived(object sender,MqttMsgPublishEventargs e)

{

//business logic

}

Сбой события MqttMsgPublishReceived для одновременных сообщений. Заранее спасибо

Что я уже пробовал:

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

1 Ответов

Рейтинг:
1

Jochen Arndt

На этот вопрос нельзя ответить на основе опубликованного кода, потому что он неполон.

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

Прочтите также документацию по используемым функциям и обратите внимание, что некоторые переменные, вероятно, не должны совместно использоваться несколькими подписками (используйте массив для этих переменных).