-
JtextArea et OutputStram
bonsoir, je fait mon projet de reseau et je suis bloqué...
Alors:
j'ai un SERVEUR qui etends la classe JFRAME.
qui possede un JTEXTAREA.
une SOCKET.
un PRINTWRITER, BUFFERREADER lié a cette socket.
s=new Socket();
this.z.setText("attente de connexion......\n");
s=ss.accept();
sortie=new PrintWriter(s.getOutputStream());
this.sortie.flush();
entree=new BufferedReader(new InputStreamReader(s.getInputStream()));
this.z.append("connection reussit\n");
System.out.println("connection reussit\n");
quand je fait sa , le message suivant est affiché
"attente de connexion"
mais le message suivant ne l'est pas
"connection reussit"
j'ai compris que le probleme vient de la declaration de mon prinwriter et de mon buffered reader puisque tous les messages d'avant sont affiché dans mon jtext area et ceux d'appes ne le sont pas.
Cependant il m'affiche ce que la connexion est reussit dans la console.
J'aurai voulu savoir comment faire pour affchicher egalement dans le jtextarea.
merci pour vos reponses,
et bonne soirée a tous.
-
- le s=new Socket() est superflux, la méthode accept de ServerSocket te renvoyant déjà un objet de type Socket ( des fois, faut se poser la question lorsque l'on a une double affectation dans son code ).
- La connexion est établie après le accept et non après l'envoi de flux sur le socket. A la rigeur tu peux la considérer reelement établie après la déclaration des flux.
- si c'est ton serveur qui entame la discussion en premier, le sortie.flush() tout seul sans même un sortie.println("...") avant est -je présume - la source de ton problème : la machine distante recoit une chaine indéterminée ( voir rien du tout ) vu qu'il n'y justement rien à flusher...
--> reprend posément ton code, réorganise-le correctement d'après les remarques que j'ai fait. Google est ton ami pour trouver de l'aide, les exemples de client-serveur java sont très nombreux sur le net. Rien que dvp.com tu peux déjà jeter un oeil à ce tutorial : http://defaut.developpez.com/tutorie...r/multithread/
-
Merci pour ta reponse.
j'ai fait comme tu m'a dit hier,
Sa na rien changé, et en l'esseyant ce matin sa a marché.
Donc je sait pas d'ou venait le probleme mais sa marche maintenant..
voila passe une bonne soirée