Je travaille sur une Appi qui utilise une classe Serializable que je passe par une Socket et que je reprend sur une autre instance.
ma classe serializable:
Envoyer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class Message implements Serializable { public String name; public String channel; public String message; public Message() { } }
Recevoir:
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 sbox.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent evt) { if (evt.getKeyCode() == KeyEvent.VK_ENTER) { try { Socket s = new Socket("127.0.0.1", 1299); Message msg = new Message(); msg.name = "GetTriggerUnit-"; msg.channel = "Main Channel"; msg.message = sbox.getText(); ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream()); out.writeObject(msg); out.close(); sbox.setText(""); } catch (Exception ex) {ex.printStackTrace();} } } });
Les sockets n'arrive pas a communiquer ensenmble. Il n'y a auncune erreur...
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 private Message curr; private void startReceiving() { Thread t = new Thread() { public void run() { try { while (true) { Socket s = new Socket("127.0.0.1", 1299); ObjectInputStream in = new ObjectInputStream(s.getInputStream()); System.out.println(in); Message msg = (Message) in.readObject(); if (curr != msg) { pane.setText(pane.getText() + msg.name + " has said " + msg.message + " in channel " + msg.channel + System.getProperty("line.separator")); curr = msg; } } } catch (Exception ex) {ex.printStackTrace();} } }; t.start(); }
Oh! et voici mon serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public main() { try { ServerSocket ss = new ServerSocket(1299); while (true) { Socket s = ss.accept(); System.out.println(s.getInetAddress()); } } catch (IOException ex) {} }
Partager