Нужен ли мне частный сервер для запуска MQTT действительно маленького брокера сообщений? - PullRequest
0 голосов
/ 22 декабря 2011

Я пытаюсь реализовать push-уведомление для моего приложения для Android.

Мне просто интересно, нужен ли мне частный сервер для брокера сообщений.

Я загрузил открытый php-источник для push-уведомлений Android из

https://github.com/tokudu/PhpMQTTClient

Я загрузил эти php-файлы на свой веб-сайт.И тогда я инициировал broker.exe из

действительно маленькой папки брокера сообщений.Когда я набирал свой веб-сайт из

Интернета, на моей веб-странице отображалось сообщение

Предупреждение: fsockopen () [function.fsockopen]: невозможно подключиться к 192.168.0.19:1883 (истекло время ожидания подключения) в /web/home/shlee/html/SAM/MQTT/sam_mqtt.php в строке 640

Поэтому я использовал команду 'telnet 192.168.0.19 1883' из командной строки.Окно

не вернуло ни одного сообщения об ошибке.Я почти ничего не знаю о

сокетах и ​​компьютерных сетях, поэтому, наверное, я пропустил что-то важное

, чтобы запустить брокер сообщений.Нужен ли мне частный сервер для запуска брокера сообщений?

или .. есть ли способ запустить брокер сообщений с моего компьютера?

заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 22 декабря 2011

Нет, вам не нужен сервер для использования RSMB, он должен нормально работать на любом компьютере, для которого есть бинарный файл.

Вы проверили, что брандмауэр Windows правильно настроен для разрешения внешних подключений через порт 1883, что звучит наиболее вероятно.

Выбранный вами php-клиент не очень хорошо обслуживается и не является надежным, и, возможно, он просто самый нестабильный и непредсказуемый MQTT-клиент из всех! У меня было больше успеха с этим: https://github.com/bluerhinos/phpMQTT

На freenode есть IRC-канал MQTT, если вам нужна конкретная помощь, она может быть медленной, но если вы долго зависаете, кто-то обычно ответит на ваши вопросы.

Если вы еще не сталкивались с этим, Дейл Лейн написал несколько очень подробных сообщений в блоге об использовании MQTT на Android: http://dalelane.co.uk/blog/?p=1599

1 голос
/ 22 декабря 2011

В дополнение к тому, что сказал Оливер, 192.168. . находится в частном диапазоне IP-адресов. Если компьютер, на котором работает веб-сервер, также не находится в этом диапазоне адресов, он не сможет подключиться к компьютеру, на котором работает посредник.

В этом случае, да, вам нужен частный сервер или хотя бы компьютер с публично адресуемым IP.

0 голосов
/ 31 марта 2012

Вам нужен только этот пример.

В этом примере представлен код сервера PHP и код Android.

Пример Токуду

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...