Bonjour/Bonsoir à tous
J'ai un petit souci actuellement pour envoyer des objets via le réseau (en utilisant des sockets TCP).
Ma classe Client (qui est l'objet que je veux envoyer) :
Ma méthode pour envoyer un objet à partir du serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package Main; import java.io.Serializable; public class Client implements Serializable { String pseudo; String mdp; public Client(String pseudo, String mdp) { this.pseudo = pseudo; this.mdp = mdp; } @Override public String toString() { return "Pseudo : " + pseudo + " - mdp : " + mdp; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void listen() { System.out.println("Serveur en écoute"); while(true) { try { Socket client = serveur.accept(); System.out.println(client); ObjectOutputStream out = new ObjectOutputStream(client.getOutputStream()); Client c = new Client("Math", "test"); out.writeObject(c); out.flush(); } catch(IOException e) {} } }
La méthode qui reçoit l'objet du serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public static void main(String[] args) { MainFrame mf = new MainFrame(); try { Socket sock = new Socket("127.0.0.1", 5600); System.out.println(sock.getLocalSocketAddress()); ObjectInputStream in = new ObjectInputStream(sock.getInputStream()); try { Object obj = in.readObject(); Client c = (Client) obj; if(obj instanceof Client) { System.out.println("OK"); } if(obj instanceof String) { System.out.println("String"); } System.out.println("Objet reçu : "+c); } catch (ClassNotFoundException ex) {} sock.close(); } catch(IOException e) {} }
J'arrive à recevoir un int, un tableau de int, des String, des tableaux de String, des ArrayList, mais ça ne marche pas avec une classe que j'ai créée moi même. Je n'arrive pas à comprendre le problème :/
Merci pour votre aide.
Partager