Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5020 connectés 

 


Dernière réponse
Sujet : [Java] Et oui encore un probleme ...
petoulachi oui mais j'ai fais ça ya 3 mois c pour ça que je m'inquiete

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
petoulachi oui mais j'ai fais ça ya 3 mois c pour ça que je m'inquiete
AirBg Tu n'as pas de quoi a etre désolé tu m'as deja bien aidé :)
petoulachi oui c pas con, d'ailleurs c a peut pres ce que je faisais mais j'y pensais plus...
desole
AirBg j'ai fait autre chose en fait et ca marche.
 
au lieu de faire (lire.ready())
 
je fais while (! lire.readLine().equals("end" ))
{    
    lire le flux
}
 
car en fin de config du routeur il y'a "end" d'écrit
 
et la ca marche bien !
 
ouf !   :crazy:
petoulachi dis moi ce que ça donne qd meme, je suis de savoir d'ou vient le pb
AirBg C'est bien bourrin mais je vais essayer ca :)
merci de ton aide, c sympa
petoulachi bon
je ne suis pas sur d'avoir bien tout compris, mais tu peut essayer cette bidouille:
tu test a chaque fois le msg reçu, et qd il est égal a null, et bin tu refait la boucle qd meme (genre tu prend un boolean).
comme ça tu pourra vérifier si tu reçoit qq chose apres ?
(oui c une solution de merde, mais c juste pour debugger)
AirBg ca quitte la boucle, normal : car y'a plus de données...
mais apres y'en a qui arrive quand le routeur fini de bosser et me rend sa config...
petoulachi ton pb ce que ça quitte la boucle ? ou que tu reste bloqué dessus et que tu ne reçoit rien?
AirBg Tout à fait, et c'est pour cela qu'il y a une méthode ready()
qui dit s'il ya des données à lire.
 
donc je fais une boucle while(flux.ready())
{
    lire.readLine();
}
et puis au bout d'un moment y'a plus de données à lire car le routeur bosse, et donc j'attends les données. (et ca je ne sais jamais à quel moment le routeur va finir son taff)
petoulachi peut etre qu'il reçoit un flux "vide" c a dire ne contenant que le caractere "\0" ?
AirBg en principe un readLine en Java est bloquant c'est à dire qu'il attend les données... mais la on dirait qu'il zappe ... :??:  :??:  
par ailleurs dans la suite de mes instructions je fais un exit de mon routeur et ceci a l'air de fonctionner....
petoulachi mmm c bizarre moi j'ai fait de la prog reseau mais en C, et la fonction qui recupere des données attends que qq chose arrive, donc ça ne pose pas de pb un truc du style.
ça m'etonne qu'en JAVA il n'est pas fait pareil
ou alors j'ai rien compris a ton pb  :crazy:
AirBg Bon j'utilise encore les servlets, la ca va ca marche pas trop mal pour le concept.
 
Mais voila, j'ai besoin de faire quelque chose de particulier,
 
je fais de la porgrammation réseau et en l'occurence je dois accéder à un routeur en telnet, pour ca j'utilise un socket en l'ouvrant sur le port 23. la Ok. Je récupère les flots d'entrée et de sortie. Et je désire récupérer certaines infos du routeur.
En premier lieu j'arrive bien à envoyer les données pour les commandes qui sont :
 
- enable
- show running-config
 
mais voila le show running-config n'est pas immédiat et donc le stream de lecture est vide (méthode ready()) et le probleme est donc que je ne peux pas récupérer le flot.
si je fais un sleep(5000) ou un truc du genre c'est interminable et la page de ne charge jamais...
autrement dit je cherche s'il n'existe pas une méthode du genre
wait_for_stream qui attend qu'il y ait des données à lire ?????
 
Pour info le routeur est un routeur Cisco séries 2500
(Et oui mes problemes sont particuliers hihi)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)