J'essaie les bases de la mise en place de la communication XMPP entre les téléphones Android en utilisant aSmack. J'ai réussi à enregistrer un compte depuis mon application et à envoyer des messages à un ID Jabber auquel je suis connecté sur mon PC. Le problème est que les réponses de mon client PC ne semblent pas être reçues, le processusMessage() dans mon MessageListener ne semble pas être appelé.ProcessMessage d'aSmack MessageListener jamais appelé
try{connection.login("kmomochesstest", "password1");}
catch(Exception e){Log.e("connection","Account login error: " + e.toString());}
chat = connection.getChatManager().createChat("[email protected]", new MessageListener() {
public void processMessage(Chat chat, Message message) {
try{System.out.println(message.getBody());}
catch(Exception e){Log.e("connection","Message send error: " + e.toString());}
});
try{chat.sendMessage("Test Message from Activity");Log.d("connection","Just sent Message ");}
catch(Exception e){Log.e("connection","Message send error: " + e.toString());}
À ce stade, je suis en train d'imprimer à la console mais j'ai l'impression essayé dans le journal et juste écho revenir à mon PC avec chat.sendMessage (message.getBody()). Rien ne semble enregistrer un message entrant. Cela semble être le format sur chaque how-to que j'ai trouvé en ligne.
J'utilise aSmack-2010.05.07, qui est la dernière version de ce que je peux dire, je ne sais pas quelle version de Smack utilise. J'ai fini par faire un ChatManagerListener et qui a reçu des réponses ce qui est à peu près tout ce dont j'avais besoin. Sur une note de côté, cela fonctionnait bien avec quelques exécutions de mon application. Maintenant, cependant, quand je tente d'abord de me connecter à mon serveur, je reçois un message "Impossible de se connecter au domaine: port: remote-server-timeout." (504) Causé par: java.net.UnknownHostException: hôte non résolu: domain: port "Idées ?? –
Cela a été corrigé en réinitialisant mon ordinateur. –