Biblioteca cliente C # para suscribir / publicar MQTT (Realmente Small Message Broker)

Tengo que implementar la notificación push para Android, pero no habrá acceso a Internet y sólo el acceso a la intranet está disponible. Así que creo que no puedo usar C2DM y API de terceros como UrbanAirship. Así que estoy pensando en utilizar MQTT RSMB (Realmente Small Message Broker), C # .net como editor para el corredor y wMqtt.jar para Android como subcriptor al corredor.

He descargado el RSMB y he encontrado el siguiente exe: -broker.exe -stdinpub.exe -stdoutsub.exe

He suscrito correctamente desde Android y he publicado mensajes con stdinpub.exe con el tema.

Me gustaría obtener algunos consejos de ustedes sobre lo siguiente:

1). ¿RSMB es libre? ¿Hay otras alternativas que se adapten a mi caso?

2) .¿Cómo podré conectar con el corredor de RSMB usando C # (para publicar y suscribir)? ¿Hay alguna biblioteca de cliente C # para RSMB?

3). ¿Cómo es el rendimiento y la fiabilidad del MQTT? Puedo necesitar empujar algunos centenares de mensajes al mismo tiempo.

4) .Si no hay otras maneras, entonces estoy pensando en ejecutar el stdinpub.exe dentro de mi aplicación C # (podría sonar mal).

Me parece que hay muy poca información sobre MQTT en la web y debo realmente ir de esa manera o hay alguna otra alternativa?

Ok, aquí hay un desglose para usted:

1) Necesita leer el archivo de licencia que se incluyó con RSMB cuando lo descargó. Mi comprensión es que usted no puede utilizar RSMB para los propósitos comerciales y si IBM lo lanza como producto comercial usted tiene que parar el usarlo.

Hay un corredor de código abierto MQTT disponible llamado Mosquitto (que desarrollar). Proporciona soporte completo de protocolo MQTT y está disponible para varias plataformas. También incluye bibliotecas cliente en C, con envolturas C ++ y Python, así como clientes de publicación y suscripción de ejemplo. Puede obtener más información en http://mosquitto.org/

2) Hay dos bibliotecas C # disponibles, aunque nunca he utilizado ninguno de ellos yo mismo. Usted puede encontrar un enlace a ellos, así como una carga completa de otro software relacionado con MQTT en http://mqtt.org/software

3) He tenido RSMB y Mosquitto manejar 1500 mensajes (100 bytes cada uno) por segundo en una vieja máquina VIA C3 600MHz. En hardware más moderno esperaría que funcionen significativamente mejor.

Con respecto a la información sobre MQTT, espero que haya una cantidad razonable en el sitio web mosquitto – ver http://mosquitto.org/man/mqtt-7.html para una visión general, por ejemplo. También puede venir a hacer preguntas en el canal #mqtt irc en la red Freenode en http://webchat.freenode.net/ También hay una lista de correo en https://launchpad.net/~mqtt-users que puede ser de utilizar.

Me temo que no puedo comentar sobre si deberías usar MQTT o algo más.

Si está utilizando C # para el cliente, es posible que desee comprobar hacia fuera la biblioteca M2Mqtt. Usted puede leer todo un post de blog muy detallado sobre la biblioteca aquí: http://www.hivemq.com/mqtt-client-library-encyclopedia-m2mqtt/

Usted puede ir con ActiveMQ o RabbitMQ C# clients … ambos apoyan MQTT ..

  • Aplicación de chat que utiliza Firebase: Recibe notificación cuando recibe un nuevo mensaje - Android
  • Android: ¿Cómo puedo poner mi notificación encima del área de notificación?
  • OnBind () en servicio siempre devuelve Falso - Android
  • ¿Cómo realizar una acción de notificación (clic) en la pantalla de bloqueo?
  • Cancelación automática de la notificación en un momento determinado
  • Cómo crear una notificación personalizada en android
  • Notificaciones de Toast que no aparecen en Nexus 7 Tablet
  • TaskStackBuilder.addParentStack no funciona cuando estaba construyendo una notificación
  • Notificación push en Amazon Android
  • Cómo mostrar varias notificaciones en android
  • Android: actualización de la barra de progreso de la notificación, correctamente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.