Клиентская библиотека C# для подписки/публикации MQTT (очень маленький брокер сообщений)

Мне нужно реализовать push-уведомление для Android, но не будет доступа в интернет, и доступен только доступ к интрасети. Поэтому я думаю, что не могу использовать C2DM и сторонний API, как UrbanAirship. Поэтому я думаю использовать MQTT RSMB (действительно маленький брокер сообщений), C# .net в качестве издателя брокера и wMqtt.jar для Android как subcriber для брокера.

Я загрузил RSMB и нашел следующие исполняемый: -брокер.исполняемый - stdinpub.исполняемый - stdoutsub.exe

Я успешно подписался на Android и опубликовал сообщения с помощью stdinpub.exe с темы.

Я хотел бы получить от вас несколько советов по следующим вопросам:

1).Является ли RSMB бесплатным? Есть ли другие варианты, которые подходят моему случаю?

2).как я смогу подключиться к брокеру RSMB с помощью C# (для публикации и подписки). Есть ли клиентская библиотека C# для РСМБ?

3).Как производительность и надежность MQTT ? Возможно, мне придется отправить несколько сотен сообщений одновременно.

4).Если нет других способов, я думаю о выполнении stdinpub.exe внутри моего приложения c#.(Это может звучать плохо).

Я считаю, что в интернете очень мало информации о MQTT, и я действительно должен идти этим путем или есть какие-либо другие альтернативы?

3 ответов


хорошо, вот разбивка для вас:

1) вам нужно прочитать файл лицензии, который был включен в RSMB при его загрузке. Я понимаю, что вы не можете использовать RSMB в коммерческих целях, и если IBM выпустит его как коммерческий продукт, вы должны прекратить его использовать.

существует брокер MQTT с открытым исходным кодом под названием Mosquitto (который я разрабатываю). Он обеспечивает полную поддержку протокола MQTT и доступен для ряда платформ. Он также включает клиента библиотеки на C, с оболочками C++ и Python, а также примеры клиентов публикации и подписки. Вы можете получить больше информации наhttp://mosquitto.org/

2) есть две библиотеки C#, хотя я никогда не использовал ни одну из них сам. Вы можете найти ссылку на них, а также целую загрузку другого программного обеспечения, связанного с MQTT наhttp://mqtt.org/software

3) У меня были RSMB и Mosquitto, обрабатывающие 1500 сообщений (100 байт каждый) в секунду на старой машине VIA C3 600MHz. На более современном оборудовании я ожидал бы, что они будут работать значительно лучше.

Что касается информации о MQTT, я надеюсь, что на веб-сайте mosquitto есть разумная сумма-см. http://mosquitto.org/man/mqtt-7.html для обзора, например. Вы также можете задать вопросы на irc-канале #mqtt в Сети Freenode по адресуhttp://webchat.freenode.net/ Существует также список рассылки на https://launchpad.net / ~mqtt-пользователи которое может быть пользы.

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


Если вы используете C# для клиента, вы можете проверить библиотеку M2Mqtt. Вы можете прочитать все очень подробное сообщение в блоге о библиотеке здесь:http://www.hivemq.com/mqtt-client-library-encyclopedia-m2mqtt/


вы можете пойти с в частности, ActiveMQ или RabbitMQ C# clients ... они оба поддерживают MQTT в ..