Page 1 sur 1

[R] Fonction TCPSend & TCPRecv

Posté : lun. 21 oct. 2013 19:28
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 !

Re: [..] Fonction TCPSend & TCPRecv

Posté : lun. 21 oct. 2013 19:32
par Sea
BinaryToString est ton ami ;)

Re: [..] Fonction TCPSend & TCPRecv

Posté : lun. 21 oct. 2013 19:43
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:

Re: [..] Fonction TCPSend & TCPRecv

Posté : lun. 21 oct. 2013 20:29
par locos974
Hmm.. Second problème : Image
Normal ? Du moins, comment l'enlevé..

Re: [..] Fonction TCPSend & TCPRecv

Posté : lun. 21 oct. 2013 22:10
par yohan8
Tu envois/reçois ces chaînes numérique à qui exactement ?

J'ai pas saisi ton second problème :roll:

Re: [..] Fonction TCPSend & TCPRecv

Posté : mar. 22 oct. 2013 00:19
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.

Re: [..] Fonction TCPSend & TCPRecv

Posté : mar. 22 oct. 2013 18:36
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é.

Re: [..] Fonction TCPSend & TCPRecv

Posté : mar. 22 oct. 2013 19:08
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.

Re: [..] Fonction TCPSend & TCPRecv

Posté : mar. 22 oct. 2013 19:53
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))

Re: [..] Fonction TCPSend & TCPRecv

Posté : mer. 23 oct. 2013 11:36
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é.

Re: [R] Fonction TCPSend & TCPRecv

Posté : mer. 23 oct. 2013 20:53
par yohan8
Merci des édits, très intéressent le Image