SVP A l'aide!! : Client Telnet sous Windev??
Stagiaire WDF
Inscrit:
04/10/2006 13:12
Post(s): 4
Salut,

j'ai des serveurs Telnet sous windows, linux & unix, des opérateurs accédent a ces serveurs via client telnet avec un compte, ils exécutent une commande, cette dernière génére un ensemble de ligne, que l'opérateur copie pour on extraire des information utiles.

Maintenent on ma demander d'écrire un programme sous Windev 10, qui automatise la tache c-à-d il doit se connecter chaque 5 minutes aux serveurs Telnet, exécute la commande, récupère les lignes générées, les traiter et afficher les information demandé sur une table dans une fenêtre.

Je j'ai déjà programmé pas mal d'application sous Windev mais je n'ai jamais utilisé les sockets sous Windev.
Comment se connecter, exécuter la commande et récupérer les ligne afin de les traiter?

Merci.

Contribution le : 04/10/2006 13:47
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??
Animateur WDF
Inscrit:
22/11/2004 11:23
Post(s): 255
Bonjour,

Je vous conseille de regarder l'aide du côté des fonctions "SocketXXX" (ex : SocketConnecte). Il y a également des exemples fournis avec Windev.

Une autre piste serait de regarder comment piloter un client comme par exemple "Putty".Il me semble que ce logiciel est "pilotable".

N'hésitez pas à nous faire par de vos travaux.

Cordialement

Contribution le : 04/10/2006 16:09
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??
Stagiaire WDF
Inscrit:
04/10/2006 13:12
Post(s): 4
salut;
Merci pour votre réponse, seulement je ne reçoi pas de notification de réponse par e-mail.

Putty ne fera pas l'affaire par ce que les ligne retourné doivent être traité en chaîne de caractère et affiché sur table, aussi l'opération est répititif chaque 10 minute en continue.

Actuellement je teste sur un poste Win XP.
Aprés quelque teste, j'ai résussi a écrire le code suivant, il n'affiche pas d'erreur, mais il reste figé lorsqu'il arrive à la première instruction Info(SocketLit("telnet1",False,300)) :

---------------------------------------------------------------------
Multitask()
IF NOT SocketExist("telnet1") THEN
IF NOT SocketConnect("telnet1",23,"127.0.0.1") THEN
Error(ErrorInfo())
RETURN
END

SocketWrite("telnet1",RC)
// info(SocketLit("telnet1",false,300))
SocketWrite("telnet1","uid"+RC) // pour le login
// info(SocketLit("telnet1",false,300))
SocketWrite("telnet1","pwd"+RC) // pour le password
Info(SocketLit("telnet1",False,300))
SocketWrite("telnet1","d:"+RC)
Info(SocketLit("telnet1",False))
SocketWrite("telnet1","cd\"+RC)

SocketWrite("telnet1","dir *.* >> dir06.txt"+RC)

SocketClose("telnet1")
ELSE
Info("existe")
END
---------------------------------------------------------------------
Merci & cordialement.

Contribution le : 05/10/2006 16:13
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??
Stagiaire WDF
Inscrit:
29/03/2004 16:43
De Canada
Post(s): 29
Avec la précision du besoin que vous fournissez, je vous suggère de regarder du côté de la classe cWDDos fourni par WDF.

Bonne continuation

Contribution le : 05/10/2006 19:34
_________________
il_a_ri
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??

Inscrit:
19/11/2002 12:20
Post(s): 390
Citation :
Actuellement je teste sur un poste Win XP.
Aprés quelque teste, j'ai résussi a écrire le code suivant, il n'affiche pas d'erreur, mais il reste figé lorsqu'il arrive à la première instruction Info(SocketLit("telnet1",False,300)) :

---------------------------------------------------------------------
Multitask()
IF NOT SocketExist("telnet1") THEN
IF NOT SocketConnect("telnet1",23,"127.0.0.1") THEN
Error(ErrorInfo())
RETURN
END

SocketWrite("telnet1",RC)
// info(SocketLit("telnet1",false,300))
SocketWrite("telnet1","uid"+RC) // pour le login
// info(SocketLit("telnet1",false,300))
SocketWrite("telnet1","pwd"+RC) // pour le password
Info(SocketLit("telnet1",False,300))
SocketWrite("telnet1","d:"+RC)
Info(SocketLit("telnet1",False))
SocketWrite("telnet1","cd\"+RC)

SocketWrite("telnet1","dir *.* >> dir06.txt"+RC)

SocketClose("telnet1")
ELSE
Info("existe")
END
---------------------------------------------------------------------
Merci & cordialement.

J'ai écrit un client Telnet rapide car Hyperterminal ne correspondait pas franchement à ce que je voulais...
Plusieurs choses:
1°) Par défaut le mode de transmission de Windev ne convient pas, il faut en changer,
2°) ça dépends des serveurs ou des routeurs auxquels on accède, mais il ne faut pas "valider" par RC (soient deux caractères en fait, caract(13)+caract(10) ou \r\n), un caract(10) suffit dans la plupart des cas.
3°) il vaudrait mieux que le socketlit soit dans un thread (enfin, ça dépends des applications)...

Ca donnerait donc en effet un truc comme ça:
SocketConnect("test",23,"192.168.1.166")
SocketChangeModeTransmission("test",SocketSansMarqueurFin)


Et pour envoyer les data:
SocketWrite("test","uid"+caract(10))

etc...

Pour la réception de data, ou une boucle avec timeout, ou un thread avec donc une "synchro"... Mais ça marche très bien ;)

Contribution le : 07/10/2006 01:33
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??
Stagiaire WDF
Inscrit:
04/10/2006 13:12
Post(s): 4
Salut;

Merci Imame pour ta réponse;

J'ai modifié le code pour apporter les modifications que tu disait mais je reçoi la réponse seulement dans la premièrte ligne socketLit, et je reçoi les caractères suivant "ÿý%ÿûÿûÿý'ÿýÿý", aussi si possible de me donner un exemple de code pour lire la réponse du serveur telnet.

Voilà mon dernier code (donnees est une zone de saisie multilignes) :

---------------------------------------
Multitask()
IF NOT SocketExist("telnet1") THEN

IF NOT SocketConnect("telnet1",23,"127.0.0.1") THEN
Error(ErrorInfo())
RETURN
END

SocketChangeModeTransmission("telnet1",SocketSansMarqueurFin)
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketWrite("telnet1","uid"+ Caract(10) )
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketWrite("telnet1","pwd"+ Caract(10))
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketWrite("telnet1","d:"+ Caract(10))
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketWrite("telnet1","cd\"+ Caract(10))
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketWrite("telnet1","dir *.* >> dir06.txt"+ Caract(10))
donnees= donnees+ RC+ SocketLit("telnet1",False)
SocketClose("telnet1")
ELSE
Info("existe")
END
---------------------------------------
Merci.

Contribution le : 12/10/2006 12:24
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??

Inscrit:
19/11/2002 12:20
Post(s): 390
Désolé je ne peux pas vu que je ne sais pas ce que doit répondre ton serveur...

Mais au fait c'est juste pour le code que tu mets ici que tu mets comme adresse 127.0.0.1 qui est l'adresse de ton PC?

Contribution le : 15/10/2006 11:56
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??
Stagiaire WDF
Inscrit:
04/10/2006 13:12
Post(s): 4
Mon bute pour le moment est tous simplement exécuter une commande DOS ou Linux et récupérer son résultat, et pour le teste j'ai activé le serveur Telnet sur mon poste Win XP, et je code sur le même poste (c'est pourquoi j'utilise 127.0.0.1) .

merci

Contribution le : 16/10/2006 11:32
Créer un fichier PDF de la contribution Imprimer


Re: SVP A l'aide!! : Client Telnet sous Windev??

Inscrit:
19/11/2002 12:20
Post(s): 390
Ah, d'accord, et avec un telnet simple avec HyperTerminal ou même sous session DOS vous arrivez à faire ça?
Quel est le service à activer sous XP?

Contribution le : 17/10/2006 11:05
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2