有人知道在 Android 智能手机上运行的 MQTT 代理吗?我尝试用谷歌搜索但什么也没找到,在应用商店中似乎只有一款应用只有 10 次下载,所以我不确定它的效果如何。
最佳答案
将这些依赖添加到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'
}
并使用
io.moquette.server.Server server = new io.moquette.server.Server();
server.startServer();
启动代理服务器。默认 URI 是 tcp://localhost:1883
对我来说 server.startServer();
给了我异常,因为它无法创建文件 BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME
。
因此,我更改了 BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME
的目标
在代码下方使用此代码,它对我有用。
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(); }
并为 android 使用 Paho 库
compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
创建客户端并连接到 tcp://localhost:1883
并订阅主题并开始发布和接收消息。
关于android - 适用于 Android 的 MQTT 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28623707/