Использование библиотеки Mosquitto с iOS

Я пытаюсь использовать протокол MQTT и являюсь в этом любителем. Я попробовал код Objective-C поверх библиотеки Mosquitto, используя MQTTKit ​​(https://github.com/jmesnil/MQTTKit).

Я могу использовать его для публикации сообщений на некоторых тестовых серверах, и все работает нормально, но все же у меня есть несколько основных вопросов, которые мне не совсем ясны:

  1. Включает ли библиотека Mosquitto веб-сокеты?
  2. Можно ли создать соединение, подписаться на тему, а затем сервер также может публиковать сообщения на устройство с поведением в реальном времени? Другими словами, можем ли мы использовать его для связи в реальном времени между сервером и клиентом (в данном случае iOS-устройством) в двух направлениях?

person Amit    schedule 27.11.2014    source источник


Ответы (2)


  1. Библиотека mosquitto не поддерживает веб-сокеты, это только mqtt.

  2. Да, mqtt — двунаправленный протокол. Я считаю, что существуют трудности с сохранением долгосрочного сокета открытым на iOS, что означает, что его не так просто поддерживать, как вам хотелось бы. Хотя я совсем не знаком с iOS.

person ralight    schedule 27.11.2014
comment
Спасибо Ралайт. В связи с этим еще один вопрос. Библиотека Mosquitto является брокером (что я понимаю как клиент). Таким образом, я могу опубликовать на сервере и подписаться на сервер, используя это. Как реализовать сервер, обеспечивающий поддержку обработки сообщений с помощью MQTT? Может ли это быть какой-либо сервер или специфичный для MQTT? Есть ли какой-нибудь тестовый сервер, который мы можем использовать для публикации и подписки с минимальной настройкой. Любые ссылки или примеры кода будут полезны. - person Amit; 27.11.2014
comment
Проект mosquitto предоставляет брокера под названием mosquitto. Он также предоставляет клиентскую библиотеку под названием libmosquitto. Вы можете использовать test.mosquitto.org:1883 для тестирования. Вы должны быть в состоянии найти множество примеров с помощью поиска. - person ralight; 28.11.2014

1. Библиотека javascript mosquitto поддерживает веб-сокет. вы можете загрузить его по адресу http://mosquitto.org/download/.

2.Mosquitto поддерживает протокол MQTT. Когда соединение будет установлено, mosquitto отправит сообщение PINGREQ для подтверждения сердцебиения (время поддержания активности см. в протоколе MQTT). протокол MQTT - это модель публикации / подписки (PubSub). Таким образом, сервер (брокер) является центральным. Клиент подписывается на тему, другой клиент может получать сообщения, а клиент может публиковать сообщения в другой теме. Вот и все, вам нужно только установить соответствующую тему.

person riven    schedule 05.12.2014