client serveur et socket

Le
ted
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 ";

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


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

str = "HELLO 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 u0000") ;

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

} catch (Exception e) {

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

}
}
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
TestMan
Le #222571
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

ted
Le #222512
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


Poster une réponse
Anonyme