[ALG JAVA]Client Server , Flux Object

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG JAVA]Client Server , Flux Object

Message  Nicky le Dim 27 Mar 2011, 21:58

'soir,

Je code une petite application pour le fun en java et je calcine sur un les flux objet...

La communication entre client et serveur s effectuent sans probleme exemple :
client
Code:

in = s.getInputStream();
out =s.getOutputStream();
out.write(5);
serveur:
Code:

in = s.getInputStream();
out = s.getOutputStream();
while (in.available() <= 0);
System.out.println(  in.read());

La, le serveur recoit bien le 5 tout roule, c est normal c est hyper basic en meme temps...

Ensuite j'ai modifier mes flux pour faire passé des objets. J'ai bien implementer serializable dans les classe que je voulais transmettre. Les classe a transmettre sont dans un 3ème projet nommé "Shared", j ai bien ecris : import shared.*; et ajouter le projet dans les propriéter du server et du client.

Ca n'a pas marcher tout de suite, puis quand j ai reussi a faire passé ma classe Test , j ai voulu la remplacer par user, j'ai modifier mon code et la... bah plus rien ne passe des que j essaie des objets...

Client:
Code:

    private ObjectInputStream ois= null;
    private ObjectOutputStream oos = null;
    private User user;
    private Test t;

 in = s.getInputStream();  out =s.getOutputStream();
oos = new ObjectOutputStream(out);
ois = new ObjectInputStream(in);
t=new Test();
oos.writeObject(t);
oos.flush();

Server:
Code:

oos = new ObjectOutputStream(s.getOutputStream());
ois = new ObjectInputStream(s.getInputStream());
while (ois.available() <= 0);
Test t=(Test)ois.readObject();

A savoir le serveur reste en dans la boucle while (ois.available() <= 0); et ne passe pas a la ligne suivante.

Je ne sais vraiment pas ce que j avais changer pour que ca marche la première fois.
J ai meme lu des truc mystique comme quoi il fallait creer les flux de sortie avant les flux d entrée ou ce genre de truc... mais bon...

svp a l'aide...

Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG JAVA]Client Server , Flux Object

Message  pbt le Lun 28 Mar 2011, 10:52

Étrange ce while ... peux-tu m'expliquer son utilité ?

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG JAVA]Client Server , Flux Object

Message  Nicky le Lun 28 Mar 2011, 12:30

on va essayer Very Happy

Je l'utilise pour ne pas lire tant que je n'ai rien dans mon flux.

mais j'avoue que cette boucle fait tourner le CPU a fond de bal, plus loin je comptais essayer d'endormir la thread tant que rien a lire et de la reveiller quand une source serait disponible en lecture...

Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG JAVA]Client Server , Flux Object

Message  pbt le Lun 28 Mar 2011, 14:18

Nicky a écrit:Je l'utilise pour ne pas lire tant que je n'ai rien dans mon flux.

:-) ..; Un read, n'est-ce pas bloquant ?

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG JAVA]Client Server , Flux Object

Message  Nicky le Lun 28 Mar 2011, 14:49

pbt 1 - 0 nicky

Mais je vais sur mon code ds 10min max, mais le probleme ne vient pas de la, étant donner qu'avec d'autre flux ca fonctionne... et que ca a deja fonctionner ...


EDIT:
Alors voila

...

pbt 2 - 0 nicky

Bordel !

la methode availabe() marche niquel avec un flux InputStream mais pas avec un objectInputStream...

Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG JAVA]Client Server , Flux Object

Message  Contenu sponsorisé Aujourd'hui à 08:43


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum