X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TD2%2Fserver%2FBroadcastoThreadService.java;h=7aa05eb5229c91281bc53068cd0b3a1d3a33058f;hb=c4d2497c0d03e16d57bc40f26124a5d0ef4a5b75;hp=e8a3622a2d53a7396a8877b22b6830dc7769b661;hpb=da31e6daf7553c6b38ca83c428dd02a3aa8af853;p=TD_SR.git diff --git a/TD2/server/BroadcastoThreadService.java b/TD2/server/BroadcastoThreadService.java index e8a3622..7aa05eb 100644 --- a/TD2/server/BroadcastoThreadService.java +++ b/TD2/server/BroadcastoThreadService.java @@ -19,7 +19,8 @@ public class BroadcastoThreadService implements Runnable { try { doService(clientSocket, listoWriter); clientSocket.close(); - } catch (IOException e) { + } + catch (IOException e) { System.err.println("IOException : " + e); e.printStackTrace(); } @@ -31,16 +32,24 @@ public class BroadcastoThreadService implements Runnable { try { if (this.clientSocket != null) this.clientSocket.close(); - } catch (IOException e) { + } + catch (IOException e) { System.err.println("IOException : " + e); e.printStackTrace(); } } } + /** + * Be careful, this function must be thread-safe + * @param clientSocket [description] + * @param sharedList [description] + * @throws IOException [description] + * @throws ClassNotFoundException [description] + */ public void doService(Socket clientSocket, ArrayList sharedList) throws IOException, ClassNotFoundException { - ObjectInputStream OReader = new ObjectInputStream(clientSocket.getInputStream()); ObjectOutputStream OWriter = new ObjectOutputStream(clientSocket.getOutputStream()); + ObjectInputStream OReader = new ObjectInputStream(clientSocket.getInputStream()); sharedList.add(OWriter); boolean end = false; while (!end) { @@ -52,10 +61,10 @@ public class BroadcastoThreadService implements Runnable { broadcastoMsg(roMsg); } sharedList.remove(OWriter); - if (OReader != null) - OReader.close(); if (OWriter != null) OWriter.close(); + if (OReader != null) + OReader.close(); System.out.println("Fin du thread repondant au client, port " + clientSocket.getPort()); }