さて、問題は些細なことですが、私はそれの根底に到達することはできません。
AとBの2人のユーザーがいます
この例のJIDはA@123とB@123になります。ここで、123はサーバーのIPです。
次のコードを使用して、A->Bからメッセージを送信しています。
chat = chatmanager.createChat(username,
new MessageListener() {
public void processMessage(Chat chat, Message message) {}});
String sendUsername = username + "@123";
Message msgObj = new Message(sendUsername, Message.Type.chat);
msgObj.setBody(message);
chat.sendMessage(msgObj);
ニックネームの末尾に「@123」を付けることが100%確実になるように、IPをハードコーディングして、誤ったJIDがないようにしました。
したがって、A@123はmsgObjをB@123に送信します。これが、XMPPメッセージングが機能することを理解した方法です。A-> Bから送信することはできませんが、A @ 123-> B@123である必要があります。
しかし、私のサーバーは別のことを考えているようです。次のエラーが継続的に通知されます。
2010.12.27 19:02:52 [org.jivesoftware.openfire.session.LocalOutgoingServerSession
.createOutgoingSession(LocalOutgoingServerSession.java:258)] Error trying to
connect to remote server: A(DNS lookup: A:5269)
java.net.UnknownHostException: A
Openfireサーバー上のAとBの両方の名簿には、適切なJID(username @ 123)との連絡先として相互に接続されています。
誰かがいくつかの洞察を提供できますか?道に迷いました。
編集
Wiresharkを使用してOpenfireサーバーとの間で送受信されるXMLをキャッチし、メッセージの受信者に適切な名前が付けられているかどうかを判断しようとしています(AではなくA @ 123)。
Wiresharkを使用すると、転送されるXMLとしてこれを受け取りました。
\302\3469\223\341\3429\000\000\000\000\377\377
SSLを無効にしましたが、安全に接続していません。なぜSSLタイプのXMLを取得しているのかわかりませんが、それは何ですか?