[R] Envoyer des commmandes par TCP/IP à un programme

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[R] Envoyer des commmandes par TCP/IP à un programme

#1

Message par pierrotm777 »

Bonjour à tous,
J'utilise un programme qui semble pouvoir se commander au travers de TCP/IP.
Je pense que mon besoin pourrait tourner autour de l'UDF 'connexion.au3' http://autoitscript.fr/forum/viewtopic.php?f=21&t=9495.Mais je n'ai aucune idée de comment l'utiliser.
Mais commandes sont du genre:

Code : Tout sélectionner

$message=messag";ask;instant
Merci de votre aide par avance :D

Lien du programme Pc Navigator 11 Free : http://navigatorfree.mapfactor.com/de/
Lien sur les précision TCP/IP : http://www.mapfactor.com/en/products/ma ... igator-11/
Un extrait:
► Afficher le texte
Lien sur les commandes possibles par COM ou TCP/IP : http://download.mapfactor.com/remote_commands_10_1.txt
Fichiers joints
remote.txt
commandes à envoyer et codes reçus
(10.83 Kio) Téléchargé 66 fois
Modifié en dernier par pierrotm777 le lun. 07 mai 2012 18:36, modifié 9 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#2

Message par Tlem »

Si votre programme accepte les requêtes TCP, vous n'avez pas besoin d'UDF. Il faudrait nous donner un peut plus d'information, car là c'est un peut léger !!!
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#3

Message par pierrotm777 »

J'ai trouvé a programme en python qui fonctionne !
► Afficher le texte
La même chose en autoit serait cool !
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#4

Message par blacksoul305 »

Voici un petit équivalent en AutoIt :
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#5

Message par pierrotm777 »

Je viens de tester en remplaçant:

Code : Tout sélectionner

$msgAEnvoyer = InputBox("Envoyer un message...","Rentrer un message ou commande à envoyer")
par

Code : Tout sélectionner

$msgAEnvoyer = "$destination=44.869740,-0.566483;navigate\n"
mais cela ne fonctionne pas.
Le script me renvoie :

Code : Tout sélectionner

Le programme vous a envoyé : small buffer
Je crois comprendre que le script python vérifie si le dernier caractère est bien \n sur une boucle de 2 secondes !
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#6

Message par blacksoul305 »

Quelqu'un qui connait le Python serait le bienvenue, car personnellement je pense pas. Est-ce que la combinaison : "\n" ne veut pas dire comme en C un "retour à la ligne" pendant un message ? Car la c'est le programme distant te renvoie : "small buffer", ce qui veut dire que le script fonctionne.

Si tu pouvais nous donner un peu plus d'infos sur ce que tu veux faire.
Étudiant en 2ème année de Licence Informatique.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#7

Message par pierrotm777 »

Et bien le scipt doit commander le navigateur gps Pc_Navigator 11 Free par une connexion TCP/IP en lui envoyant des commandes sous forme de texte
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#8

Message par blacksoul305 »

Il doit bien y avoir une doc sur les commandes à envoyer, sur les réponses reçues ou même l'envoie des données* ...

Remarque * : Par exemple le programme en question pourrait n'accepter que des données sous formes binaires pour ensuite les transformer en string (chaîne de caractères) :

Code : Tout sélectionner

TCPSend($socket,StringToBinary("ta commande")) ; on envoie au programme distant "ta commande" sous forme binaire
Car encore une fois, "small buffer" n'est pas sorti de nulle part !
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#9

Message par sylvanie »

vous avez essayé le passage du retours chariot comme ceci : ?

Code : Tout sélectionner

$msgAEnvoyer = "$destination=44.869740,-0.566483;navigate"&@LF
 
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#10

Message par pierrotm777 »

non j'ai essayé de laisser la fin de commande \n !
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#11

Message par pierrotm777 »

blacksoul305 a écrit :Il doit bien y avoir une doc sur les commandes à envoyer, sur les réponses reçues ou même l'envoie des données* ...

Remarque * : Par exemple le programme en question pourrait n'accepter que des données sous formes binaires pour ensuite les transformer en string (chaîne de caractères) :

Code : Tout sélectionner

TCPSend($socket,StringToBinary("ta commande")) ; on envoie au programme distant "ta commande" sous forme binaire
Car encore une fois, "small buffer" n'est pas sorti de nulle part !
Je viens de rajouter le fichier des commandes 'remote.txt' dans le premier post !
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#12

Message par blacksoul305 »

Je viens de voir ça, mais par contre je vois pas "small buffer" dans le texte. De toute façon, la réponse que l'on obtient n'a rien de "busy", "yes" ou "no". Y a t-il moyen d'avoir l'IP et le port auxquels se connecter ?
Étudiant en 2ème année de Licence Informatique.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#13

Message par pierrotm777 »

Alors, aprés un test en vb.net, il est possible de remplace le \n par un @LF.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#14

Message par pierrotm777 »

Ainsi, le code de blacksoul305 fonctionne super bien!
► Afficher le texte
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#15

Message par pierrotm777 »

Ainsi, le code de blacksoul305 fonctionne super bien!

Bon, j'ai un peux travailler sur une Gui de test !
► Afficher le texte
Ainsi, le code de blacksoul305 fonctionne super bien!
Modifié en dernier par pierrotm777 le lun. 07 mai 2012 19:08, modifié 3 fois.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Envoyer des commmandes par TCP/IP à un programme

#16

Message par pierrotm777 »

Merci à tous de votre intérêt pour mon problème ! :D
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Envoyer des commmandes par TCP/IP à un programme

#17

Message par TommyDDR »

pierrotm777, 4 messages différents sur le même post en 35 minutes !
Vous n'avez pas l'impression de polluer un peu ?
Je vous conseille fortement de tout rassembler en un seul message.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Envoyer des commmandes par TCP/IP à un programme

#18

Message par mikell »

C'était pour le cas où on n'aurait pas compris que : Ainsi, le code de blacksoul305 fonctionne super bien! :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre