cs_guillaume21
Messages postés15Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention 7 juin 2004
-
17 déc. 2003 à 15:36
JasoQ
Messages postés3Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention13 janvier 2006
-
13 janv. 2006 à 11:44
je n'arrive pas a creer un ObjectInputStream a partir du flux entrant de ma socket... le programme bloque et aucune exception n'est levee. Mais j'arrive kan mem a creer un ObjectOutputStream.
je comprend pas pourquoi. j'ai testé getInputStream qui n'es pas null. ça bloque ds le constructreur de ObjectInputStream
code : InputStream in = S.getInputStream();
if(in!=null)
oin = new ObjectInputStream(in);
cs_guillaume21
Messages postés15Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention 7 juin 2004 13 janv. 2004 à 09:55
t'as pas du bien comprendre ce ke je voulais dire... j'arrive pas a creer le flux d'objet entrant. Ce n'est pas un probleme de serialisation car je ne peux encore rien envoyer (vu ke je peux pas le creer).
j'arivve a faire le flux inverse (ObjectOutputStream) et a transferer des donnees.
JasoQ
Messages postés3Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention13 janvier 2006 7 janv. 2006 à 19:14
j'ai aussi le même probleme . Je n'ai pas encore trouvé la solution. J'ai interet de trouver assez vite parce que je doit rendre mon boulot dans moins d'une semaine.
Vous n’avez pas trouvé la réponse que vous recherchez ?
JasoQ
Messages postés3Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention13 janvier 2006 13 janv. 2006 à 08:09
J'ai trouvé la solution.
Il faut faire attention avec les flux objet au niveau de la création. Je vais donner un exemple ce qui sera certainement mieux qu'un longue explication :
Coté serveur :
ObjectInputStream in = null ;
ObjectOutputStream out = null ;
try {
in = new ObjectInputStream (socket.getInputStream());
out = new ObjectOutputStream (socket.getOutputStream());
out.flush();
}
catch (IOException e) {
...
}
Coté client :
try {
out = new ObjectOutputStream (socket.getOutputStream());
out.flush();
in = new ObjectInputStream (socket.getInputStream());
}
catch (IOException e) {
...
}
Comme vous laurez compris il faut faire un symétrique entre le client et le serveur et ne pas oublier de faire un flush sur la sortie. Ca peut marcher sans, mais avec vous êtes sur que ça fonctionne. Il faut aussi absolument créer les 2 flux in et out pour que ça fonctionne.
Pensez aussi au try/catch
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 13 janv. 2006 à 11:30
lu,
tu es dans quelle école JasoQ ? Parce que c'est bizzare mais en général
les forums ont tendance à grossir dés que les projets arrivent dans mon
école :p (Evidemment c'est loin d'être un reproche et je dirais même un
encouragement à utiliser les chats pour ça !)
Ce ne serait pas pour un chat par hasard ta sérialisation ? ;-)
JasoQ
Messages postés3Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention13 janvier 2006 13 janv. 2006 à 11:44
Non c'est pour un multi serveur de fichier. Bien joué je suis en plein projet :o) enfin c'est juste un ptit TP noté. Nos profs ne sont pas fous. C'est trop simple de trouver des sources de chat ... trop facile et trop classique :oP
Je suis en licence maintenance réseau et apllications réparties. C'est quoi ton école ?