У меня есть приложение Java, реализующее Smack 4.1.7, которое я использую как макет клиента для Openfire 4.0.2. В настоящий момент Openfire работает на моем локальном хосте. Смак может войти и проверить подлинность должным образом с этим соединением:Ошибка маршрутизации между Smack и Openfire на localhost
XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder()
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
.setServiceName(XMPP_HOST_NAME) // equals xmppDomain on server
.setUsernameAndPassword("user1", "pwd1")
.setResource("tester")
.setDebuggerEnabled(true)
.build();
Теперь, когда Смак пытается создать или присоединиться к MUC, запрос раз из (SmackException $ NoResponseException) и OpenFire входит следующее:
2016.07.03 18:58:54 org.jivesoftware.openfire.spi.RoutingTableImpl -
Unable to route packet. Packet should only be sent to available sessions and the
route is not available.
<presence id="WrkXH-6" from="[email protected]/tester" to="[email protected]/tester">
<c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="NfJ3flI83zSdUDzCEICtbypursw="/>
</presence>
2016.07.03 18:58:54 org.jivesoftware.openfire.spi.RoutingTableImpl -
Failed to route packet to JID: [email protected]/tester packet:
<presence id="WrkXH-6" from="[email protected]/tester" to="[email protected]/tester">
<c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="NfJ3flI83zSdUDzCEICtbypursw="/>
</presence>
Я использовал «localhost», «127.0.0.1» и имя моей машины как XMPP_HOST_NAME как на стороне сервера, так и на стороне клиента, и я продолжаю получать ту же ошибку. Любая помощь будет оценена по достоинству.
Прошу прощения, вы сделали логин с пользователем? localhost не будет работать, имя машины (но вы должны проверить имя сервера OpenFire в панели управления) будет работать. Мне присутствие от и к тому же человеку кажется странным, но я должен проверить – MrPk
да, логин работает нормально. Он работает как с localhost, 127.0.0.1, так и с именем машины (независимо от того, что настроено на стороне openfire кстати). Предупреждение на стороне Smack при установлении соединения: org.jivesoftware.smack.util.DNSUtil resolveDomain ПРЕДУПРЕЖДЕНИЕ: Исключение при изменении SRV-записей для localhost. Подумайте о добавлении «_xmpp- (server | client) ._ tcp 'DNS SRV Records, но appart из этого соединения и аутентификации одобрены. – guik
Возможно, у вас есть прокси-сервер, и вы должны добавить localhost (да, 127.0.0.1) в качестве исключения ... – MrPk