Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

client serveur et socket

2 réponses
Avatar
ted
Bonjour,

je cherche a ecrire un petit client java se connectant =E0 un serveur,
le serveur est celui present=E9 sur
http://defaut.developpez.com/tutoriel/java/serveur/multithread/
il s'agit donc d'un serveur de "echo / chat" multithread=E9.

Mon client se connecte et envoie 2 messages, le serveur a l'air de
recuperer le premier message, mais le client ne recupere pas la
reponse, le deuxieme message n'arrive pas du tout au serveur.

Je pense etre bloqu=E9 par la lecture de mon bufferReader, bref il y a
un petit probleme dans mon code....

merci de vos precisions.

ci joint le code de mon petit client.

Cordialement,
Ted

package client;

import java.io.*;
import java.net.*;
/** Le processus client se connecte au site fourni dans la commande
* d'appel en premier argument et utilise le port distant 1025.
*/
public class BlablaClient {
static final int port =3D 1025;

public static void main(String[] args) throws Exception {
try {
System.out.println("coucou");
Socket socket =3D new Socket("localhost", port);
System.out.println("SOCKET =3D " + socket);

BufferedReader plec =3D new BufferedReader(
new InputStreamReader(socket.getInputStream())
);

PrintWriter pred =3D new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);

String str =3D "USER ANONYMOUS \n";

pred.println(str); // envoi d'un message


str =3D plec.readLine(); // lecture de l'=E9cho
System.out.println("lecture de l'=E9cho"+str);

str =3D "HELLO \n \u0000";

pred.println(str); // envoi d'un message
str =3D plec.readLine(); // lecture de l'=E9cho
System.out.println("lecture de l'=E9cho"+str);

System.out.println("END"); // message de terminaison
pred.println("END \n \u0000") ;

plec.close();
pred.close();
socket.close();

} catch (Exception e) {

e.printStackTrace();
// TODO: handle exception
}
=09
}
}

2 réponses

Avatar
TestMan
Bonjour,

je cherche a ecrire un petit client java se connectant à un serveur,
le serveur est celui presenté sur
http://defaut.developpez.com/tutoriel/java/serveur/multithread/
il s'agit donc d'un serveur de "echo / chat" multithreadé.

Mon client se connecte et envoie 2 messages, le serveur a l'air de
recuperer le premier message, mais le client ne recupere pas la
reponse, le deuxieme message n'arrive pas du tout au serveur.

Je pense etre bloqué par la lecture de mon bufferReader, bref il y a
un petit probleme dans mon code....

merci de vos precisions.

ci joint le code de mon petit client.

Cordialement,
Ted

package client;

import java.io.*;
import java.net.*;
/** Le processus client se connecte au site fourni dans la commande
* d'appel en premier argument et utilise le port distant 1025.
*/
public class BlablaClient {
static final int port = 1025;

public static void main(String[] args) throws Exception {
try {
System.out.println("coucou");
Socket socket = new Socket("localhost", port);
System.out.println("SOCKET = " + socket);

BufferedReader plec = new BufferedReader(
new InputStreamReader(socket.getInputStream())
);

PrintWriter pred = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);

String str = "USER ANONYMOUS n";

pred.println(str); // envoi d'un message


str = plec.readLine(); // lecture de l'écho
System.out.println("lecture de l'écho"+str);

str = "HELLO n u0000";

pred.println(str); // envoi d'un message
str = plec.readLine(); // lecture de l'écho
System.out.println("lecture de l'écho"+str);

System.out.println("END"); // message de terminaison
pred.println("END n u0000") ;

plec.close();
pred.close();
socket.close();

} catch (Exception e) {

e.printStackTrace();
// TODO: handle exception
}

}
}



Bonjour,

Essayez de rajouter des .flush() "là ou il faut" ... si celà ne marche
pas, renvoyer aussi le code du serveur et la trace d'execution ..

A+
TM

Avatar
ted
Merci TM, @++

Bonjour,

Essayez de rajouter des .flush() "là ou il faut" ... si celà ne marche
pas, renvoyer aussi le code du serveur et la trace d'execution ..

A+
TM