Я новичок в серверном хостинге и хочу реализовать многопользовательский чат в своем приложении для iphone / android. Я обнаружил, что xmpp - это то, что мне нужно реализовать, а для сервера ejabberd может быть хорошим выбором (из-за его масштабируемости и надежности).
Я нашел одну статью Чезаре Рокки показывает, как запустить сервер ejabberd для тестирования (я заметил, что моя версия ejabberd - 2.1.13, а в учебнике - 2.1.8, но все же попробую), но не удалось. Автор использовал iChat и Adium, чтобы проверить, нормально ли работает сервер после запуска. Я следую его шагу, устанавливая домен как «localhost» и администратора как «vivi @ localhost». В списке контроля доступа административного интерфейса веб-страницы ejabberd я добавляю пользователя с именем «user @ localhost». В Adium я добавляю пользователя xmpp «user @ localhost» с сервером подключения «localhost» и номером порта 5222. Однако я получаю сообщение об ошибке «Ошибка: сервер закрыл соединение».
Я попытался ввести команду netstat -an | grep LISTEN, чтобы убедиться, что порт 5222 в настоящее время прослушивает. Когда я останавливаю сервер ejabberd, статус Adium меняется на ошибку: невозможно подключиться. Похоже, что-то блокирует соединение.
Я пытался найти решение в Google в течение нескольких дней, но не смог найти подходящего решения. Есть ли кто-нибудь, кто может предложить возможное решение этой проблемы?
Есть несколько моментов, которые стоит попробовать. Во-первых, убедитесь, что у вас нет аватара или установлен аватар с низким разрешением. Есть выдающаяся ошибка, связанная с Adium и ejabberd для этого. Затем запустите Adium в режиме отладки (удерживайте Option при запуске), чтобы вы могли получить вывод журнала и увидеть, что говорит Adium.
Также может быть целесообразно проверить параметры безопасности для подключения, по умолчанию ejabberd будет использовать самозаверяющий сертификат, поэтому строгая проверка не удастся. У меня также возникли проблемы с функцией pubsub в ejabberd, которая вызывала проблемы с клиентами Adium, и мне пришлось отключить ее. Вы можете сделать это, закомментировав (%%
) module
директивы для pubsub в ejabberd.cfg
.