logo-xmpp

XMPP et Java avec Smack : b.a.-ba

Catégorie : XMPP | Tag : , ,
Share

Après le serveur XMPP et le client XMPP, nous allons nous intéresser d’avantage au côté client en codant quelques bribes de Java pour faire du XMPP. Pour cela, il existe encore une liste de librairies XMPP proposée par XMPP.org, et, comme précédemment, j’ai choisi celle qui m’a été conseillée et qui est développée par Jive Software : Smack !

Pour faire mes tests, j’ai lancé en local un serveur Openfire, sur lequel j’ai créé deux utilisateurs : « Fylhan » et « Test ». J’ai lancé Fylhan sur le client XMPP Spark et je vais utilisé « Test » pour mes tests. (quand je dis que j’ai « lancé Fylhan », je ne parlais pas de moi hein !)

Exemple simple d’utilisation

Dans l’exemple ci-dessous, on se connecte au serveur XMPP 127.0.0.1 avec le login et mot de passe de l’utilisateur « Test ». Puis on envoie un message à un de nos amis. On pourrait par exemple l’envoyer à « Fylhan » : fylhan@testopenfire. Attention cependant, pour que « Fylhan » reçoive ce message, il doit faire partie des contacts de « Test », c’est-à-dire dans sa liste de « Roster ».

public class TestXMPP {

	public static void main(String[] args) {
		// Create the configuration for this new connection
		ConnectionConfiguration config = new ConnectionConfiguration("127.0.0.1");
		XMPPConnection connection = new XMPPConnection(config);
		// Connect to the server
		try {
			connection.connect();
			// Log into the server
			connection.login("test", "test");
		} catch (XMPPException e) {
			e.printStackTrace();
		}

		// Write a message to a friend
		Message msg = new Message("friend JID", Message.Type.chat);
		msg.setBody("Hello my friend!");
		connection.sendPacket(msg);
		System.out.println("Sent to 'my friend'> Hello my friend!");
	}
}

Ce que l’on va (tenter de) voir par la suite

Après cette première utilisation basique de Smack pour envoyer un message à un contact via XMPP, nous allons tenter de voir les points suivant :

  • Smack pour se connecter à Google Talk
  • Smack pour gérer les autorisations/vie privée
  • Smack pour consulter sa liste de contact : Roster
  • Smack pour créer une salle de discussion
  • Smack pour modifier sa Presence

On ne verra sûrement pas tout, mais c’est pas grave !

Quelques ressources

  • Today Java : Tutoriel sur Smack. Très bon tutoriel notamment pour la récupération des informations sur sa liste de contact (Roster) et la réception de paquets.
  • Ashwinrayaprolu : Smack, XMPP et GTalk. Un bon tutoriel pour démarrer même si je n’aime pas trop l’approche.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>