sindibadthesailor

Programme client

Mar 17th, 2023
599
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | Source Code | 0 0
  1. // Exemple inspire du livre _Java in a Nutshell_
  2. import java.io.*;
  3. import java.net.*;
  4. public class MonClient {
  5. public static final int DEFAULT_PORT = 6789;
  6. public static void usage() {
  7.     System.out.println("Usage: java MonClient <machineServeur> [<port>]");
  8.     System.exit(0);
  9.     }
  10. public static void main(String[] args) {
  11.     int port = DEFAULT_PORT;
  12.     Socket s = null;
  13.         // initialise le port
  14.     if ((args.length != 1) && (args.length != 2))
  15.         usage();
  16.     if (args.length == 1) port = DEFAULT_PORT;
  17.     else {
  18.     try { port = Integer.parseInt(args[1]); }
  19.     catch (NumberFormatException e) {
  20.         usage(); }
  21.     }
  22.     try {
  23.     // Cree une socket pour communiquer
  24.     // avec le service se trouvant sur la
  25.     // machine args[0] au port port
  26.     s = new Socket(args[0], port);
  27.     // Cree les streams pour lire et ecrire
  28.     // du texte dans cette socket
  29.     BufferedReader sin = new
  30.     BufferedReader(new
  31.     InputStreamReader(s.getInputStream()));
  32.     PrintStream sout = new
  33.     PrintStream(s.getOutputStream());
  34.     // Cree le stream pour lire du texte a  partir du clavier
  35.     BufferedReader in = new
  36.     BufferedReader(new
  37.     InputStreamReader(System.in));
  38.     // Informe l'utilisateur de la connection
  39.     System.out.println("Connected to " +
  40.     s.getInetAddress() + ":"+ s.getPort());
  41.     String line;
  42.     while(true) {
  43.     // le prompt
  44.     System.out.print("> ");
  45.     System.out.flush();
  46.     // lit une ligne du clavier
  47.     line = in.readLine();
  48.     if (line == null) break;
  49.     // et l'envoie au serveur
  50.     sout.println(line);
  51.     // lit une ligne provenant de la socket,
  52.     // donc du serveur
  53.     line = sin.readLine();
  54.     // Verifie si la connection est fermee.
  55.     // Si oui on sort de la boucle
  56.     if (line == null) {
  57.     System.out.println("Connection fermée par le serveur."); break; }
  58.     // Ecrit la ligne traite par le serveur et envoye
  59.     // par lui.
  60.     System.out.println(line);
  61.     }
  62.     }
  63.     catch (IOException e) { System.err.println(e);
  64.     }
  65.     // Refermer dans tous les cas la socket
  66.     finally { try { if (s != null) s.close();
  67.     }
  68.     catch (IOException e2) { ; }
  69.     }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment