Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Exemple inspire du livre _Java in a Nutshell_
- import java.io.*;
- import java.net.*;
- public class MonClient {
- public static final int DEFAULT_PORT = 6789;
- public static void usage() {
- System.out.println("Usage: java MonClient <machineServeur> [<port>]");
- System.exit(0);
- }
- public static void main(String[] args) {
- int port = DEFAULT_PORT;
- Socket s = null;
- // initialise le port
- if ((args.length != 1) && (args.length != 2))
- usage();
- if (args.length == 1) port = DEFAULT_PORT;
- else {
- try { port = Integer.parseInt(args[1]); }
- catch (NumberFormatException e) {
- usage(); }
- }
- try {
- // Cree une socket pour communiquer
- // avec le service se trouvant sur la
- // machine args[0] au port port
- s = new Socket(args[0], port);
- // Cree les streams pour lire et ecrire
- // du texte dans cette socket
- BufferedReader sin = new
- BufferedReader(new
- InputStreamReader(s.getInputStream()));
- PrintStream sout = new
- PrintStream(s.getOutputStream());
- // Cree le stream pour lire du texte a partir du clavier
- BufferedReader in = new
- BufferedReader(new
- InputStreamReader(System.in));
- // Informe l'utilisateur de la connection
- System.out.println("Connected to " +
- s.getInetAddress() + ":"+ s.getPort());
- String line;
- while(true) {
- // le prompt
- System.out.print("> ");
- System.out.flush();
- // lit une ligne du clavier
- line = in.readLine();
- if (line == null) break;
- // et l'envoie au serveur
- sout.println(line);
- // lit une ligne provenant de la socket,
- // donc du serveur
- line = sin.readLine();
- // Verifie si la connection est fermee.
- // Si oui on sort de la boucle
- if (line == null) {
- System.out.println("Connection fermée par le serveur."); break; }
- // Ecrit la ligne traite par le serveur et envoye
- // par lui.
- System.out.println(line);
- }
- }
- catch (IOException e) { System.err.println(e);
- }
- // Refermer dans tous les cas la socket
- finally { try { if (s != null) s.close();
- }
- catch (IOException e2) { ; }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment