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

  FORUM HardWare.fr
  Programmation

  [Java] Et oui encore un probleme ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Et oui encore un probleme ...

n°24320
AirBg
The Philosopher
Posté le 12-04-2001 à 16:12:50  profilanswer
 

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)


---------------
"There's not such a thing as a stupid question, only stupid people..."
mood
Publicité
Posté le 12-04-2001 à 16:12:50  profilanswer
 

n°24324
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:19:09  profilanswer
 

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:

n°24329
AirBg
The Philosopher
Posté le 12-04-2001 à 16:23:54  profilanswer
 

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....


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24331
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:25:06  profilanswer
 

peut etre qu'il reçoit un flux "vide" c a dire ne contenant que le caractere "\0" ?

n°24334
AirBg
The Philosopher
Posté le 12-04-2001 à 16:29:40  profilanswer
 

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)


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24341
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:36:05  profilanswer
 

ton pb ce que ça quitte la boucle ? ou que tu reste bloqué dessus et que tu ne reçoit rien?

n°24345
AirBg
The Philosopher
Posté le 12-04-2001 à 16:38:39  profilanswer
 

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...


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24346
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:41:11  profilanswer
 

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)

n°24348
AirBg
The Philosopher
Posté le 12-04-2001 à 16:42:51  profilanswer
 

C'est bien bourrin mais je vais essayer ca :)
merci de ton aide, c sympa


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24353
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:48:01  profilanswer
 

dis moi ce que ça donne qd meme, je suis de savoir d'ou vient le pb

mood
Publicité
Posté le 12-04-2001 à 16:48:01  profilanswer
 

n°24354
AirBg
The Philosopher
Posté le 12-04-2001 à 16:53:05  profilanswer
 

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:


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24356
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 16:57:26  profilanswer
 

oui c pas con, d'ailleurs c a peut pres ce que je faisais mais j'y pensais plus...
desole

n°24358
AirBg
The Philosopher
Posté le 12-04-2001 à 16:58:25  profilanswer
 

Tu n'as pas de quoi a etre désolé tu m'as deja bien aidé :)


---------------
"There's not such a thing as a stupid question, only stupid people..."
n°24359
petoulachi
A fortiori, brigadier chef
Posté le 12-04-2001 à 17:02:46  profilanswer
 

oui mais j'ai fais ça ya 3 mois c pour ça que je m'inquiete


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Java] Et oui encore un probleme ...

 

Sujets relatifs
[JAVA] Probleme bizarre avec des threads[Java] Enorme probleme Applet
[JAVA] Probleme avec les JTable...[JAVA] Probleme d'evenements lié a la serialisation(enfin je pense)...
[JAVA] Probleme pour 'adder' des JComponent dnas mon JPanel..Problème de Java....
Probleme Applet Java[JAVA] Probleme avec les fonctions statiques
probleme de rafraichissement d'une image sous javaProblème con mais important pour moi..[JAVA]
Plus de sujets relatifs à : [Java] Et oui encore un probleme ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR