Клиентская библиотека C # для подписки / публикации MQTT (Really Small Message Broker) - PullRequest
18 голосов
/ 09 июля 2011

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

Я скачал RSMB и нашел следующие exe: -broker.exe -stdinpub.exe -stdoutsub.exe

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

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

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

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

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

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

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

Ответы [ 3 ]

31 голосов
/ 09 июля 2011

Хорошо, вот вам разбивка:

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 600 МГц.На более современном оборудовании я ожидаю, что они будут работать значительно лучше.

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

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

3 голосов
/ 27 июля 2015

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

2 голосов
/ 17 июля 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...