私は、OpenFire 4.0.2の模擬クライアントとして使用しているSmack 4.1.7を実装しているJavaアプリケーションを持っています。現時点では、私のlocalhost上でOpenfireが実行されています。以下のスマック作成またはMUC、要求がタイムアウト(SmackException $ NoResponseException)とOpenfireに参加しようとすると今ローカルホスト上のSmackとOpenfireの間のルーティングエラー
XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder()
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
.setServiceName(XMPP_HOST_NAME) // equals xmppDomain on server
.setUsernameAndPassword("user1", "pwd1")
.setResource("tester")
.setDebuggerEnabled(true)
.build();
記録します:
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レコードを再構築中に例外が発生しました。 '_xmpp-(server | client)._ tcp' DNS SRVレコードを追加することをお勧めしますが、その接続と認証からの接続は問題ありません。 – guik
おそらくプロキシがあり、例外としてlocalhost(yes、127.0.0.1)を追加する必要があります... – MrPk