Question

Ok, le problème devrait être trivial, mais je ne peux pas aller au fond de celui-ci.

J'ai deux utilisateurs A & B

Leur pour cet exemple de JID sera A @ 123 et B @ 123 où 123 est l'adresse IP du serveur.

J'envoie un message de A-> B en utilisant le code suivant:

   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);

J'ai codait le IP de sorte que je suis 100% sûr que je l'attache « @ 123 » à la fin du surnom donc il n'y a pas JIDs incorrectes.

A @ 123 envoie msgObj à B @ 123. Voilà comment je compris la messagerie XMPP au travail. Que vous ne pouvez pas envoyer de A-> B mais il doit être A @ 123 -.> B @ 123

Cependant, mon serveur semble penser autrement. Il me informe en permanence de l'erreur suivante:

 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 

Dans les deux cas la liste de A et B sur le serveur Openfire, ils ont entre eux comme un contact avec les JID appropriés (nom d'utilisateur @ 123).

Quelqu'un peut-il donner un aperçu? Je suis perdu.

Modifier

Je suis en train d'utiliser Wireshark pour attraper le XML envoyé vers et depuis le serveur Openfire pour déterminer si le destinataire du message est nommé correctement (A @ 123 au lieu de A).

Lors de l'utilisation Wireshark, je recevais ce que le XML en cours de transfert:

\302\3469\223\341\3429\000\000\000\000\377\377

Je SSL est désactivé, je l'ai connecté non en toute sécurité. Je ne sais pas pourquoi je suis en train de XML de type SSL, est que ce qu'il est?

Était-ce utile?

La solution

Turns la réponse à ce problème était quelque chose qui était négligé.

Dans la première ligne de code:

 chat = chatmanager.createChat(username, new MessageListener() {
            public void processMessage(Chat chat, Message message) {}
      });

Je n'ai pas la variable « nom d'utilisateur » ont l'extension IP appropriée. Donc, il était simplement "A" au lieu de "A @ 123"

Déplacement « sendUsername » vers le haut et changeant « nom d'utilisateur » à « sendUsername » fait tout grand travail:)

erreur stupide.

Autres conseils

L'utilisation d'adresses IP est presque toujours plus confuse que vous pensez qu'elle est.

Il y a une bonne chance que vous avez OpenFire mal configuré, de sorte que l'adresse IP n'est pas un nom d'hôte valide. Allez dans la console d'administration, sous la rubrique « Propriétés système », et assurez-vous que la propriété xmpp.domain est définie sur votre adresse IP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top