PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Telnet Linux
Telnet Linux
Started by cestmoiexplorata, Feb., 13 2006 10:53 AM - 6 replies
Posted on February, 13 2006 - 10:53 AM
Bonjour,
a-t-on une solution simple depuis Windev pour rentrer en communication avec un boîtier (Linux) qui répond à une interrogation par Telnet sous fenêtre DOS ...

(suite à la connection Telnet depuis une fenêtre DOS sur le PC connecté au boitier Linux,

le boitier demande le Username et password;

puis il faut changer de directory dans le linux pour lancer une appli;

une fois dans l'appli (retour d'un prompt dans la fenêtre DOS ), on dispose d'un langage de commande ligne pour dialoguer avec le boitier ...)

)
Merci pour vos infos
Posted on February, 13 2006 - 11:55 AM
Salut

pour se connecter il faut utiliser les fonctions sockets.
ensuite il faut lire et attendre la demande de login/password.
puis attendre le prompt du bash (ou autre ligne de commande) ($ pour un
utilisateur non root, # pour le root en bash)
Lancer ton programme.
Après tu traite la sortie standard de ton programme console.
quand il se ferme tu l'indique par un message texte.
tu attend le retour du prompt
tu envoi exit comme commande et tu te déconnecte (normalement le serveur
te déconnecte dans la foulée du exit)

a++
Goof

PS : théorie pure jamais testé mais normalement s'est une simulation de
saisie utilisateur. Les textes peuvent changer aussi suivant la
distribution linux.
Posted on February, 13 2006 - 4:05 PM
Merci pour cette réponse ..

tout a l'air de fonctionner ...

au niveau création socket par SocketConnecte("socket",23,chadresse);


l'envoi de message ... SocketEcrit("socket",chmessage)


par contre au niveau lecture de message sur la socket ...
chrecupmessage= SocketLit("socket",Faux) ...

toujours désepérement vide !

j'ai regardé sur les info telnet échangée .. le boitier envoi bien le message "login :" ... mais je ne lis jamais ce "login :" ...
il reçoit le mot de passe envoyé ... puis après il ne semble pas bien lire le login envoyé ...

j'ai mis un Socket.option = SocketNagleOff , rien n'a bougé ... toujours pas de lecture de ce que m'envoi le boitier

Ce que je ne comprends pas de base , c'est pourquoi le SocketLit ne fonctionne pas alors que le SocketEcrit a l'air de fonctionner ...
Posted on February, 13 2006 - 5:21 PM
"explorata" <cestmoiexplorata@hotmail.com> writes:

Merci pour cette réponse ..

tout a l'air de fonctionner ...

au niveau création socket par SocketConnecte("socket",23,chadresse);


l'envoi de message ... SocketEcrit("socket",chmessage)


par contre au niveau lecture de message sur la socket ...
chrecupmessage= SocketLit("socket",Faux) ...

toujours désepérement vide !


Ce n'est pas parceque vous envoyez des messages sur le port 23 que vous
communiquez selon le protocole Telnet.

Les commandes si dessus permettent simplement d'ouvrir un "canal" de
connexion, maintenant c'est au developpeur d'écrire le "langage" de
communication qui doit suivre les RFC.

Faire une recherche sur google avec telnet RFC et vous aurez toutes
les infos dont vous avez besoins pour faire votre client telnet.





j'ai regardé sur les info telnet échangée .. le boitier envoi bien le
message "login :" ... mais je ne lis jamais ce "login :" ... il
reçoit le mot de passe envoyé ... puis après il ne semble pas bien
lire le login envoyé ...

j'ai mis un Socket.option = SocketNagleOff , rien n'a bougé
... toujours pas de lecture de ce que m'envoi le boitier

Ce que je ne comprends pas de base , c'est pourquoi le SocketLit ne
fonctionne pas alors que le SocketEcrit a l'air de fonctionner ...




--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)
Posted on February, 13 2006 - 5:34 PM
il faudrait aussi regarder ce que dit la RFC du telnet.
je n'ai pas regardé mais elle devrait aider.

a+
Goof
Posted on February, 13 2006 - 6:06 PM
Merci pour cette éclairage ...

effectivement c'est ce qui est à redouter ... devoir rentrer dans les méchanismes de Telnet ... sans trouver un module windev qui va bien ...

Connaissez vous cependant quelque part une méchanique de base qui permettra par exemple juste de répondre au login et password demandé via Telnet par le boitier ...histoire d'apprendre à marcher avant de courrir ... sans devoir se tester à déchiffre/ réaliser un programme compliant avec la RFC dès le début...
Posted on March, 21 2006 - 5:20 PM
Je viens de trouver un probleme que beaucoup de gens on eu mais pas de reponse.

Pas de retour sur la socketlit.

Eh oui une option par defaut de Windev est active

Le message de retour doit etre de la forme suivante

<Longueur>+RC+<Chaîne ou buffer à envoyer>

Or en telnet nous n'avon pas ce format

Alors il faut :

SocketChangeModeTransmission(<Nom de la socket>,SocketSansMarqueurFin)

Allez bon courage a tous