Bonjour,
J'ai des soucis avec mes flux ObjectInputStream. J'écris sur le flux par ObjectOutputStream.writeInt(7); mais mon ObjectIntputStream.readInt(); ne le reçoit pas.
Voici mon code. Je commence par le client qui s'est, au préalable, connecté sur le serveur. L'envoie et la réception du login par les flux fonctionne très bien dans ce cas là. Ensuite mon client lance un object requête:
Cet objet s'initialise fort bien et c'est lui qui fait le write:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Req Requete = new Req("GET_INFO", cliSock, Dest, Date);
Mon serveur, après le login du client s'est mis en attente sur un read:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public Req(String Requete, Socket soc, String Dest, String Date){ Re = Requete; s = soc; da = Date; de = Dest; try { // ois= new ObjectInputStream(s.getInputStream()); //PS: il ne veut pas mon ois!!! oos= new ObjectOutputStream(s.getOutputStream()); } catch(IOException e) { System.err.println("Erreur IO:"+e.getMessage()); } catch(Exception e) { System.err.println("Erreur Flux:"+e.getMessage()); } if(Re.equalsIgnoreCase("GET_INFO")==true) { System.out.println("Tajmaps: Get Info"); try{ //Voici l'envoi qui fonctionne très bien. oos.writeInt(5);oos.flush(); } catch(Exception e) { System.err.println("Erreur Tajmaps:"+e.getMessage()); } } else System.out.println("Perdu"); }
Et il attend... Il attend, il attend, et il attend tjs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part int k = ois.readInt();
Pourquoi ne se rend-t-il pas compte que qqch a été écris. Les flux son initialisé sur la même socket.![]()
Partager