Подтвердить что ты не робот

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

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

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

Ответ 3

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