largement inspiré de cette source:
http://www.cppfrance.com/codes/TELNET-AVEC-INTERFACE-GRAPHIQUE-API-UNIQUEMENT-SANS-MFC_10749.aspx de Nebula,
mais quand même ajouter dans une bonne partie par ma touche perso...
seul 2 fonctions ont été gardées de Nebula (ClientRecv et Addline), bon quand même modifier...
notament le probleme et de traiter les caractères de recv du serveur telnet. le top serait de faire un TRACE("%c",CharDuRecv);
mais je suis pas en mode concole, et s'il y a un moyen je ne le connait pas... ( a ce propos si quelqu'un connait comment faire un TRACE vers une Edit Control je suis preneur. (je poserai la question dans le forum au cas ou).
Fonction du programme:
- connection au serveur telnet du modem speedtouch (10.0.0.138)
- entre le login et le mdp au démarage du prog.
- boutton permettant de rebouter le modem //send(socket,"system reboot\r",0);
- boutton permettant d'ajouter une plage de ports exemple du port 2121 à 2225 //send(socket,"nat create protocol=tcp inside_addr=10.0.0.1:2121 outside_addr=0.0.0.0:2121\r",0); etc jusqu'à 2225
- boutton connection pour ce connecter et se dconnecter du modem
Les procédures ou fonctions principalent:
- Connection(HWND hwnd) //pour se connecter au modem
- Addline(char* mBuf) //notre Addline de Nebula modifié
- ClientRecv(void* arg) //code de Nebula modifié (Thread)
- Reception() //création du thread pour la reception du serveur telnet (recv)
- login() //pour se connecter au modem
En esperant que ce code serve.
@+
youpi
Source / Exemple :
j'ai changer le font du control edit pour qu'il n'y est pas de décalage dans les caractères:
static HFONT police;
police= CreateFont(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Lucida Console");
SendMessage(GetDlgItem(hwnd,IDC_EDIT5),WM_SETFONT,(WPARAM)police,TRUE);
Conclusion :
reste a améliorer encore un peu le traitement du recv, il reste encore des fioritures, notament lors d'un send.
exemple send(s,"nat list\r",9,0);
le addline correspond à
"
=>
=>n
=>na
=>nat
=>nat
=>nat l
=>nat li
=>nat lis
=>nat list
=>nat list " //corriger par la fonction checkline
effectivement, mais j'ai créé ce logiciel pour automatiser en c++ certaines tâches de mon modem/routeur. reboot/regles firewall/etc...
Je préfere le faire en natif que je créé moi-même plutot qu'avec une dll externe fait par quelqu'un d'autre... voila...
mais merci pour ton commentaire.
Youpi
tu peux aussi utiliser extraputty qui est une dll te permettant de dialoguer sur Telnet, ssh .
super simple d'utilisation et gratui.
http://www.extraputty.com
@+
Merci pour tes remarques. Ce programme, je l'utilise r?guli?rement pour param?trer mon firewall et rebooter mon pc. Personnellement je n'ai pas besoin de changer mon code. Mais pour des raisons x,y comme le programme est opensource vous pouvez faire toutes les modifications que vous voulez. Effectivement le login et le password est en dur, vous pouvez cr?er effectivment une msgbox pour demander le login et le password au d?marrage, et ?galement r?cup?rer les param?tres IP ?galement.
youpiyoyo
De plus, j’ai dû modifier les paramètres Login et Password qui sont codés en dur dans le logiciel. Avant de faire ces personnalisations, le logiciel bouclait sans rien afficher, ce qui signifie qu’il est nécessaire de disposer d’un compilateur pour utiliser ce programme.
Pour le rendre plus facilement utilisable, je vous suggèrerais d’ajouter une boîte de dialogue au démarrage de l’exécution pour saisir les adresses IP le Login et le Password.
Cordialement,
Jojo
Je peux effectivement te donné l'exe il me faut ton address mail, tu n'as qu'a me l'envoyé en message privé, je te l'enverai.
Sache une chose par contre, c que le programme ne marchera pas si tu n'as pas de modem speedtouch.je te conseil de lancer le programme en debug, et le testé sur un serveur telnet, il fo réglé l'adresse IP etc.
Voila
@+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.