public ClientSimplifie() {
// établie une connexion au serveur par un appel
// à connexionServeur()
- connexionServeur("localhost", 5000);
+ attributesInit();
+ try {
+ connexionServeur("localhost", 5000);
+ }
+ catch (IOException e) {
+ System.err.println("IOException: " + e);
+ closeRWIO();
+ }
}
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(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);
InputStream IStream = null;
- try {
- IStream = sock.getInputStream();
- }
- catch (IOException e) {
- System.err.println("IOException: " + e);
- }
+ 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);
- }
+ OStream = sock.getOutputStream();
ecriture = new PrintWriter(OStream);
}
+ private void attributesInit() {
+ sock = null;
+ lecture = null;
+ ecriture = null;
+ }
+
/**
* Send a message on the opened client socket
* @param msg a string containing the message to send
* 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;
}
* 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);