Blocage sur la creation d'un ObjectInputStream

cs_guillaume21 Messages postés 15 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 7 juin 2004 - 17 déc. 2003 à 15:36
JasoQ Messages postés 3 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 13 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);

merci

Guillaume

7 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
29 déc. 2003 à 10:21
:big) Neodante :big)

Un ObjectInputStream est fait pour la sérialisation donc si ton objet n'est pas sérialisable ce qui ne m'étonne pas ... c'est mort !!!
@+
0
cs_guillaume21 Messages postés 15 Date d'inscription lundi 12 mai 2003 Statut Membre Derniè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.

merci kan mem
0
bobbie1 Messages postés 1 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 7 avril 2005
7 avril 2005 à 17:44
As tu trouver une solution? J ai le mem pb aujourd'hui...

Merci

[dd]
0
JasoQ Messages postés 3 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 13 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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JasoQ Messages postés 3 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 13 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 l’aurez 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
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
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 ? ;-)



++
0
JasoQ Messages postés 3 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 13 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 ?
0
Rejoignez-nous