hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011
-
28 juil. 2011 à 12:11
hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011
-
1 août 2011 à 16:37
Bonjour tout le monde,
Quand je reçois ma réponse du serveur sous forme d'une chaine de caractére en hexadécimal les zéro ne s'affichent pas et une suite de zéro à la fin s'affichent comme par exemple :
Au lieu d'avoir 04 03 02 33 44 03 45 ,
Je recois 4 3 2 44 3 45 0000000000000000000000000000000000000000
Comment puis- je résoudre mon probléme?
Voici le code de la réception:
public String receive() {
String reponse = "";
char[] out = new char[1000];
try{
BufferedReader is = new BufferedReader (new InputStreamReader (this.socket.getInputStream()));
is.read (out);
// Close the Connection
is.close();
this.socket.close();
hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011 1 août 2011 à 11:45
Merci Laurent pour ta réponse, le probléme c'est que lorsque je mets dans ma boucle for (int i = 0; i < nbread; i++) pour int nbread = is.read (out)
Je ne recois plus aucune réponse du serveur et meme l'envoi de la chaine change .. Au lieu de lui envoyer une chaine en hexa , il la considére comme un String et la transforme en ASCII encore!!!!!!!!
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 1 août 2011 à 12:04
Bonjour.
Que vaut la variable nbread ?
Normalement read() te renvois le nombre de caractères effectivement lu, ou -1 s'il est arrivé à la fin du flux.
C'est sans doute ton cas.