2015-03-24 3 views
1

Я работаю над приложением MVC, которое служит клиентом MQTT. Я использую библиотеку C# M2Mqtt от paho. В основном каждый раз, когда кто-то нажимает кнопку на моем веб-сайте, я хочу, чтобы сообщение было опубликовано, и оно также получит ответ (таким образом, он также подходит к теме.)Клиент MQTT в приложении MVC

Мой вопрос: мне нужно подключиться к брокером каждый раз, когда вы нажимаете кнопку (вызывая ActionResult, который публикует сообщение), или есть способ сохранить соединение в сети (fe инициализировать его в Global?) и как это сделать тогда? Поскольку я довольно новичок в программировании MVC/.net, я не знаком со всеми функциями и возможностями, и я стараюсь понять это самостоятельно. Любая помощь по этому вопросу очень ценится! :-)

ответ

4

Я разработчик M2Mqtt :-) Когда вы используете метод Connect в клиенте M2Mqtt, соединение остается живым благодаря механизму keep alive с сообщениями ping. Если вы не отправляете сообщение за указанный тайм-аут, клиент поддерживает его, используя ping-сообщения с брокером.

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

Paolo

+0

Sweet! Спасибо :) Я все понял, но до сих пор не знал, будет ли связь оставаться в живых или мне придется снова подключаться. – Guinn

+0

Как я могу проверить цикл, если появится новое сообщение? –

-1

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

+1

«должно быть». Вы не ответили на этот вопрос. –

+0

Как уже было сказано выше, этот механизм уже присутствует и работает по назначению. Поэтому упоминание о том, что должен быть такой механизм, на самом деле не является ответом на вопрос. – Guinn