[R] Fonction TCPSend & TCPRecv

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

[R] Fonction TCPSend & TCPRecv

#1

Message par locos974 »

Bonjour,

Je suis confronter à un petit problème très gênant, celui du TCPSend & TCPRecv qui me retourne des données encodé (?).
Quand j'envoie une chaîne de caractère aucun problème, mais dès que j'envoie des chaînes numériques, j'obtient un résultat comme ceci :
0xD01FK115..

Un truc du genre, j'aimerais savoir comment le convertir..

Merci d'avance !
Modifié en dernier par locos974 le mer. 23 oct. 2013 11:36, modifié 3 fois.
Cordialement Locos974.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#2

Message par Sea »

BinaryToString est ton ami ;)
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#3

Message par locos974 »

Genre.. J'avais tout testé les fonctions de ce genre, Hex, Dec, BinaryToString, StringToBinary, .. Et aucune ne marché, merci beaucoup ! J'aurais dû persisté :mrgreen:
Cordialement Locos974.
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#4

Message par locos974 »

Hmm.. Second problème : Image
Normal ? Du moins, comment l'enlevé..
Cordialement Locos974.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#5

Message par yohan8 »

Tu envois/reçois ces chaînes numérique à qui exactement ?

J'ai pas saisi ton second problème :roll:
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#6

Message par locos974 »

Quand j'envoie avec la fonction TCPSend et que je la reçois sur un second logiciel avec la fonction TCPRecv, que je convertiel e résultat, j'obtient à chaque fin de ligne le caractère èL
le petit L traduit par ETX caractère non-imprimable.. Pour l'enlevé.. Voilà quoi.
Modifié en dernier par locos974 le mer. 23 oct. 2013 11:30, modifié 1 fois.
Cordialement Locos974.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#7

Message par yohan8 »

Je pense que le type d'encodage des chaînes de caractères envoyé par ce logicielle est décrit justement par ce logicielle. Si tu pourrais nous en dire plus sa pourrais nous aider :)

Mais apparemment maintenant tu as réussi à convertir ces chaînes de caractères mis à part qu'il subsiste un "èL" en chaque fin de caractère.

Du coup je vois plus trop ou est le problème..
Ce "èL" t'indique que la chaîne de caractère envoyé est terminé ! c'est gênant ?

Je vois pas en quoi les fonctions TCPSend & Recv posent problème. Elles te renvoient simplement ce que tu reçois. Le problème est dans ce que tu reçois qui est encodé.
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#8

Message par locos974 »

Le truc, c'est que quant-on envoie des packets, y'a bien une raison ? :mrgreen:
Et bien moi ma raison, c'est que je vais les parser, afin de définir à chacun une exécution différente. Sauf que la les derniers caractères j'aimerais bien les dégagés afin d'avoir aucun problème de parsing.
Cordialement Locos974.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#9

Message par yohan8 »

Parser, Parsing.. tu parles d'analyser de syntaxe ? Tu dois surement être dans un sujet fort intéressent en ce moment mais pas toujours facile de se mettre dans ton contexte et comprendre ;)

Pour résoudre ton problème tu peux effacer les 2 derniers caractères avec la fonction StringTrimRight

Code : Tout sélectionner

$n = "Suppression des 2 caractères : èL"
MsgBox(0,'Done',StringTrimRight($n,2))
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Fonction TCPSend & TCPRecv

#10

Message par locos974 »

Ne marche pas.. Dû au faite, je pense que le dernier caractère est "non-palpable" par les fonctions, invisible. La fonction StringTrim qui a pour but de supprimé les 2 derniers caractères ne marche pas.
Si vous voulez voir, crée de fichier, un serveur, un client et envoyé vous 1 seul packet TCPSend($Socket, "PING") juste sa devrais suffire, quand je retourne la valeur avec BinaryToString :
Image

Je pense avoir une idée, je vous tiens au courant :)

Edit :
Quand mon server reçois un packet, il est soit sous type texte, ou soit en type binary (0x0704528540), quand il est en type texte, pas de problème, il "saute" la fonction de conversion sans que je le demande et je n'est pas ce caractère 'èL' qui est traduit par Image ETX, signifiant pour ma part End of Text. Tant dit quand binary, il me rajoute ce bout de code/texte sans aucune importance pour moi..

Edit2 :
Solution trouvé !
Un simple $sData = StringReplace($sData, "Image ", "") Il faut juste le remplacer dans votre SCiTe via un copié collé.
Cordialement Locos974.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [R] Fonction TCPSend & TCPRecv

#11

Message par yohan8 »

Merci des édits, très intéressent le Image
Répondre