Question de codage [JAVA/FTP] - Java - Programmation
Marsh Posté le 20-07-2003 à 20:44:18
c'est normal que ca boucle et que ca fasse un 100% quand in est pas ready d'après ton code.
Tu peux déjà mettre un Thread.yield() pour éviter que ton proc monopolise le CPU.
Tu peux aussi faire des Thread.sleep(), c'est à dire des pauses pour attendre que le flux soit ready
Enfin, dan le JDK 1.4, y a des mécanismes dans java.nio qui permettent de faire de la lecture de flux non-bloquante ...
Marsh Posté le 21-07-2003 à 13:38:44
oué le sleep ca marche d'enfer maintenant je suis a 3% d'utilisation cpu c mieux!!!
merci bcp
sinon juste pour info tu pourrais m'aiguiller pr la lecture de flux non bloquante? parceke je ne connais pas du tout.
A+
Marsh Posté le 21-07-2003 à 14:04:34
j'ai pas de lien à te filer, mais je suis certain qu'en tapant "java nio tutorial" tu trouveras plein de trucs ...
Marsh Posté le 20-07-2003 à 17:24:20
Bonjour, je code un petit client ftp.
dans une classe FTP, pour obtenir une reponse du serveur, je fais ca :
c'est une fonction non bloquante qui me renvoie une reponse si on peut lire le flux (inp) ou qui renvoie null si on ne peut pas.
c'est pourquoi dans une autre classe (celle qui a besoin de la reponse) je fais ca :
et la c'est carrement bloquant, je bouffe meme 100% des ressources de la machine et on boucle indefiniment si la reponse ne vient jamais, je me demandais si il n'y avait pas un autre moyen de faire, par exemple avec un timer qui appelerait 5 fois reponse() ? ou une autre solution que je ne connais pas.
PS : quand je fais reponse.substring(3,4); c'est au cas ou aurait un 230- et non un 230* ou * est un espace.