MQTT broker for Android

血红的双手。 提交于 2019-12-18 01:05:12

问题


Does anyone know of an MQTT broker that runs on an Android smartphone? I tried to Google and found nothing, and on the app store there seems to be only one app with just 10 downloads, so I'm not sure how well it works.


回答1:


Add these dependencies to the gradle

    dependencies{
   compile 'io.moquette:moquette-netty-parser:0.8.1'
    compile 'io.moquette:moquette-broker:0.8.1'
    compile 'io.moquette:moquette-parser-commons:0.8.1'
}

And use

io.moquette.server.Server server = new io.moquette.server.Server();
server.startServer();

to start broker server. the default URI is tcp://localhost:1883

For me server.startServer(); gave me exception as it is unable to create a file BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME. So, I changed the destination of the BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME using this code below code and it worked for me.

     try {
         MemoryConfig memoryConfig = new MemoryConfig(new Properties());
memoryConfig.setProperty(BrokerConstants.PERSISTENT_STORE_PROPERTY_NAME, Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME);
    server.startServer(memoryConfig); 
        // server.startServer();//is not working due to DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME; 
        Log.d(TAG,"Server Started");
         }
         catch (IOException e) { e.printStackTrace(); }
         catch (Exception e){ e.printStackTrace(); }

And Use Paho libraries for android

compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

To create a client and connect to tcp://localhost:1883 and subscribe for a topic and start publishing and receiving messages.

moquette library for android.




回答2:


I have developed an App specifically for this , please download here -

It has inbuilt broker and client too..all for free , connect your devices to android phone via hotspot or wifi.

https://play.google.com/store/apps/details?id=server.com.mqtt




回答3:


Here is an MQTT broker library I have adapted to Android: https://github.com/interaktionsbyran/moquette You'll have to make your own Android app though, it is just a library.




回答4:


Have a look at this question:

Using Android-Tablet as an MQTT-Server

TLDR;

Possible, have a look for a pure Java broker like HiveMQ.



来源:https://stackoverflow.com/questions/28623707/mqtt-broker-for-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!