Я использую брокер/сервер MQTT (это модифицированная версия moquette) на телефоне Android (Motorola Moto 3g, Android 6.0), которые принимают запрос через стандартное подключение через порт 1883 и через веб-сокет через порт 9001.
Когда я пытаюсь подключиться к серверу на том же телефоне, на котором работает сервер, с клиентом веб-сокета MQTT, все работает (с хостом 127.0.0.1 и портом 9001).
Но если я попытаюсь подключиться к серверу с моим ноутбуком, подключенным к той же локальной сети, это не удастся. То же самое, если я создаю точку доступа Wi-Fi на своем ноутбуке и подключаюсь к ней с помощью телефона.
Быстрое сканирование NMap показывает, что порт 9001 на телефоне закрыт:
Starting Nmap 7.01 ( https://nmap.org ) at 2016-06-23 12:20 CEST
Nmap scan report for 10.100.100.134
Host is up (0.0038s latency).
PORT STATE SERVICE
9001/tcp closed tor-orport
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Итак, я предполагаю, что либо сервер прослушивает неправильный интерфейс (я нашел это DEBUG io.netty.util.NetUtil - Loopback interface: lo (lo, ::1%1)
в журнале adb, но, похоже, это не проблема, см. этот ответ stackoverflow) или что мне нужно вручную открыть порт на телефоне, но я ничего не нашел об этом в Google.
host
указано в конфигурационном файле мечети? - person hardillb   schedule 23.06.2016prop.setProperty("port", "1883"); prop.setProperty("websocket_port", "9001"); prop.setProperty("host", "127.0.0.1"); prop.setProperty("allow_anonymous", "true");
- person Maeln   schedule 23.06.2016