3. Un client Minimaliste

Le client est semblable au serveur, nous donnons un exemple simplifié où le client se contente de se connecter et d’envoyer les données saisies au clavier vers le serveur.

Objet client minimaliste se connectant en local sur le port 8500.

public class Minimal { /* define the client class */
     private String hote = "127.0.0.1";
     private int port = 8500;
     private Scanner console_input;
     public Minimal() {}

Méthode execute() qui se connecte au serveur, lit des données sur l’entrée standard et les envoie au serveur.

  1. La ligne 5 crée et ouvre la socket.
  2. La ligne 11 est le début d’une boucle infinie qui lit les données sur la console et les envoue au serveur.
  3. La line 12 lit une ligne sur l’entrée standard.
  4. La ligne 13 envoie cette donnée au serveur.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void execute() {
             console_input = new Scanner(System.in);
             Socket laConnection = null;
             try {
                     laConnection = new Socket(this.hote, this.port);
                     PrintWriter ma_sortie = new PrintWriter(
                                     laConnection.getOutputStream(), true);
                     System.out.format(" Contacting %s on %d\n", hote ,port);
                     ma_sortie.println("Hello je suis : spammeur");
                     System.out.println("entrer les données");
                     while (true) {
                             String data = console_input.next();
                             ma_sortie.println(data);
                             if (data.equals("end")){
                                     System.out.println("termine");
                                     laConnection.close();
                                     System.exit(0);

                     }
             } catch (IOException e) {
                     System.out.format("Probleme de connection avec serveur fontionne : %s",e);
                     System.exit(-1);
             }

Au final cela donne la classe suivante :

import java.net.*;
import java.io.*;
import java.util.Scanner;

public class Minimal { /* define the client class */
	private String hote = "127.0.0.1";
	private int port = 8500;
	private Scanner console_input;
	public Minimal() {}

	public void execute() {
		console_input = new Scanner(System.in);
		Socket laConnection = null;
		try {
			laConnection = new Socket(this.hote, this.port);
			PrintWriter ma_sortie = new PrintWriter(
					laConnection.getOutputStream(), true);
			System.out.format(" Contacting %s on %d\n", hote ,port);
			ma_sortie.println("Hello je suis : spammeur");
			System.out.println("entrer les données");
			while (true) {
				String data = console_input.next();
				ma_sortie.println(data);
				if (data.equals("end")){
					System.out.println("termine");
					laConnection.close();
					System.exit(0);
				}
			}
		} catch (IOException e) {
			System.out.format("Probleme de connection avec serveur fontionne : %s",e);
			System.exit(-1);
		}

	}
	public static void main(String[] args) {
		Minimal test = new Minimal();
		test.execute();
	}

}