Aller au contenu

Application client

Note

L'application démo du serveur est disponible à l'adresse suivante : https://gitlab.com/sebastien.huneault.cegep.public/420-4p8-client-serveur/Sockets-TemplateClient

Explication du code

Le code utilisé pour le client est très semblable au code utilisé pour le serveur. En fait, mis à part l'écoute et la connexion, le reste pratiquement identique.

Pour débuter, le client doit se connecter au serveur, en spécifiant l'adresse IP et le port désiré.

// Créer une connexion
Socket socket = new Socket("localhost", 8080);

Maintenant que la connexion est établie, il faut une façon de pouvoir communiquer. L'utilisation d'un PrintWriter et d'un BufferedReader, connectés aux flux du client et du serveur, serviront de moyen de connexion. C'est exactement la même procédure que pour le serveur !

// Obtenir les flux d'entrée et de sortie
PrintWriter socketOut = new PrintWriter(socket.getOutputStream(), true);
BufferedReader socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));

Dans l'application démo du serveur, ce dernier envoie une salutation. Nous savons que ce sera la première ligne envoyée. Sachant cela, on pourra lire le message et l'afficher à l'écran.

// Lire le message de bienvenue
String message = socketIn.readLine();
System.out.println("INFO: " + message);

et répondre avec notre nom :

// Envoyer le nom
socketOut.println("Sébastien");

Quand la communication est terminée, on pourra informer le serveur que nous désirons fermer la connexion.

// Fermer la connexion
socket.close();