2015-02-20 3 views
4

Кто-нибудь знает о брокере MQTT, который работает на Android-смартфоне? Я пытался Google и ничего не нашел, и в магазине приложений, похоже, только одно приложение с 10 загрузками, поэтому я не уверен, насколько хорошо он работает.MKTT broker для Android

+0

Почему вы хотели бы запустить MQTT брокера на Android? –

+0

Я работаю над проектом, который может потребовать, чтобы несколько клиентов на телефоне разговаривали друг с другом с помощью MQTT. Тот же тип клиентов разговаривает друг с другом с одного устройства на другое с помощью внешнего брокера MQTT, поэтому с точки зрения повторного использования и требования, которое они говорят через MQTT, я (думаю, мне) действительно нужен брокер MQTT. – Branex

ответ

1

Вот брокерская библиотека MQTT, адаптированная для Android: https://github.com/interaktionsbyran/moquette Вам нужно будет создать собственное приложение для Android, хотя это просто библиотека.

+0

вы можете помочь в создании примера приложения, использующего мокет для Android? – Gaurav

6

Добавьте эту зависимость в 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(); } 

и использовать Pāho библиотеки для андроид

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 и подписаться на тему и начать публикацию и получение сообщений.

moquette библиотека для android.

+1

Я пробовал это, но это продолжает разрушать мое приложение, не показывая никаких ошибок. Не могли бы вы мне помочь? –

+0

Теперь это не сбой приложения, но вместо этого не может подключиться к серверу. Как я запустил сервер в tcp: // localhost: 1883? –

+0

использовать 'io.moquette.server.Server server = new io.moquette.server.Server(); server.startServer(); 'чтобы запустить сервис, запустите этот код в службе или в потоке. – Tej

-1

Я разработал приложение специально для этого, пожалуйста, скачать здесь -

Он имеет встроенный брокер и клиент too..all бесплатно подключить устройств к андроида телефона через точку доступа или Wi-Fi.

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