Java (socket) : envoyer et recevoir des données

Voici des exemples d’instantiation pour les classes PrintWriter, ObjectInputWriter, ObjectOutputWriter, BufferedReader et BufferedWriter dans le contexte des sockets :

  • PrintWriter :
Socket ss = new Socket("localhost", 1234);
PrintWriter out = new PrintWriter(ss.getOutputStream(), true);
  • ObjectOutputWriter :
Socket ss = new Socket("localhost", 1234);
ObjectOutputStream out = new ObjectOutputStream(ss.getOutputStream());
  • ObjectInputWriter :
Socket ss = new Socket("localhost", 1234);
ObjectInputStream in = new ObjectInputStream(ss.getInputStream());
  • BufferedReader :
Socket socket = new Socket("localhost", 1234);
BufferedReader in = new BufferedReader(new InputStreamReader(ss.getInputStream()));
  • BufferedWriter :
Socket ss = new Socket("localhost", 1234);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));

Voici des exemples d’utilisation réutilisant la même instance d’un objet :

  • PrintWriter :
Socket ss = new Socket("localhost", 1234);
PrintWriter out = new PrintWriter(ss.getOutputStream(), true);

// Réutilisation de l'objet writer pour envoyer plusieurs messages
Out.println("Premier message");
Out.println("Deuxième message");
  • ObjectOutputWriter :
Socket ss = new Socket("localhost", 1234);
ObjectOutputStream Out = new ObjectOutputStream(ss.getOutputStream());

// Réutilisation de l'objet objectOutput pour envoyer plusieurs objets
Out.writeObject(obj1);
Out.writeObject(obj2);
  • ObjectInputWriter :
Socket ss = new Socket("localhost", 1234);
ObjectInputStream in = new ObjectInputStream(ss.getInputStream());

// Réutilisation de l'objet objectInput pour lire plusieurs objets
Object obj1 = in.readObject();
Object obj2 = in.readObject();
  • BufferedReader :
Socket ss = new Socket("localhost", 1234);
BufferedReader in = new BufferedReader(new InputStreamReader(ss.getInputStream()));

// Réutilisation de l'objet reader pour lire plusieurs entrées
String line1 = in.readLine();
String line2 = in.readLine();
  • BufferedWriter :
Socket ss = new Socket("localhost", 1234);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));

// Réutilisation de l'objet writer pour envoyer plusieurs messages
Out.write("Premier message");
Out.flush();