X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TD2%2Fclient%2FClientSimplifie.java;h=b676c6591c1647a8c736444e0783b12fdfff05a1;hb=6b300998692af2dca53cf1fe97305d27b56430b0;hp=d247a9383cc852cc6094e63953740b1b9ec09ddf;hpb=58312685472236da9be0138c9b5b450ca13387b1;p=TD_SR.git diff --git a/TD2/client/ClientSimplifie.java b/TD2/client/ClientSimplifie.java index d247a93..b676c65 100644 --- a/TD2/client/ClientSimplifie.java +++ b/TD2/client/ClientSimplifie.java @@ -10,43 +10,47 @@ public class ClientSimplifie { public ClientSimplifie() { // établie une connexion au serveur par un appel // à connexionServeur() - connexionServeur("localhost", 5000); - } - - public ClientSimplifie(String adresseIPServeur, int portServeur) { - // établie une connexion au serveur par un appel - // à connexionServeur() - connexionServeur(adresseIPServeur, portServeur); - } - - private void connexionServeur(String adresseIPServeur, int portServeur) { - // créer un objet socket lié au socket serveur et l'affecte à sock - // puis établie les chaînages de flot nécessaires - // pour l'envoi et la reception de messages + attributesInit(); try { - sock = new Socket(adresseIPServeur, portServeur); + connexionServeur("localhost", 5000); } catch (IOException e) { System.err.println("IOException: " + e); + closeRWIO(); } - InputStream IStream = null; + } + + public ClientSimplifie(String adresseIPServeur, int portServeur) { + // établie une connexion au serveur par un appel + // à connexionServeur() + attributesInit(); try { - IStream = sock.getInputStream(); + connexionServeur(adresseIPServeur, portServeur); } catch (IOException e) { System.err.println("IOException: " + e); + closeRWIO(); } + } + + private void connexionServeur(String adresseIPServeur, int portServeur) throws IOException { + // créer un objet socket lié au socket serveur et l'affecte à sock + // puis établie les chaînages de flot nécessaires + // pour l'envoi et la reception de messages + sock = new Socket(adresseIPServeur, portServeur); + + OutputStream OStream = sock.getOutputStream(); + ecriture = new PrintWriter(OStream); + + InputStream IStream = sock.getInputStream(); InputStreamReader IMesg = new InputStreamReader(IStream); lecture = new BufferedReader(IMesg); + } - OutputStream OStream = null; - try { - OStream = sock.getOutputStream(); - } - catch (IOException e) { - System.err.println("IOException: " + e); - } - ecriture = new PrintWriter(OStream); + private void attributesInit() { + sock = null; + lecture = null; + ecriture = null; } /** @@ -62,15 +66,10 @@ public class ClientSimplifie { * Receive a message sent on the opened client socket * @return a string containing the received message */ - public String receiveMsg() { + public String receiveMsg() throws IOException { String line = new String(); - try { - //FIXME: read only the line before the ending newline - line = lecture.readLine(); - } - catch (IOException e) { - System.err.println("IOException: " + e); - } + //FIXME?: read only the line before the ending newline + line = lecture.readLine(); return line; } @@ -78,9 +77,13 @@ public class ClientSimplifie { * Close all opened I/O streams attached to this object instance */ public void closeRWIO() { - ecriture.close(); try { - lecture.close(); + if (sock != null) + sock.close(); + if (lecture != null) + lecture.close(); + if (ecriture != null) + ecriture.close(); } catch (IOException e) { System.err.println("IOException: " + e);