Methode readline de BufferedReader se bloque
Fermé
m3allem58
Messages postés
58
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
7 janvier 2014
-
Modifié par m3allem58 le 4/10/2013 à 12:36
m3allem58 Messages postés 58 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 7 janvier 2014 - 4 oct. 2013 à 18:43
m3allem58 Messages postés 58 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 7 janvier 2014 - 4 oct. 2013 à 18:43
A voir également:
- Methode readline de BufferedReader se bloque
- Code puk bloqué - Guide
- Pavé tactile bloqué - Guide
- Compte gmail bloqué - Guide
- Telephone bloque - Guide
- Comment savoir si on est bloqué sur messenger - Guide
2 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
4 oct. 2013 à 15:43
4 oct. 2013 à 15:43
La méthode readLine est normalement une méthode bloquante, donc qui va attendre l'arrivée d'un message pour le lire.
Ici d'après le code lorsque le serveur répond, la réponse est bien mise dans out, seul problème, tant que readLine n'est pas null, alors on attend un nouveau message.
Je ne sais pas ce que tu entends par débloque, mais s'il s'agit du fait que le programme est débloqué quand tu fermes le serveur, alors c'est tout à fait normal, puisque reader est basé sur l'input stream, lequel est je suppose basé sur la socket.
Donc socket fermée = input stream fermé = reader se basant sur null = déblocage
Ici d'après le code lorsque le serveur répond, la réponse est bien mise dans out, seul problème, tant que readLine n'est pas null, alors on attend un nouveau message.
Je ne sais pas ce que tu entends par débloque, mais s'il s'agit du fait que le programme est débloqué quand tu fermes le serveur, alors c'est tout à fait normal, puisque reader est basé sur l'input stream, lequel est je suppose basé sur la socket.
Donc socket fermée = input stream fermé = reader se basant sur null = déblocage
m3allem58
Messages postés
58
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
7 janvier 2014
4 oct. 2013 à 18:43
4 oct. 2013 à 18:43
merci arth pour la réponse, ce que tu as dit est totalemnt juste.
au lieu de
A+.
au lieu de
out.append(line);j'ai directement rempli une file d'attente avec le contenu de line et comme ça le reste du programme exploite le flux intercepté.
A+.