Page 1 sur 1
[R] Quand 1 devient la chaine 0x01000000 via TCP
Posté : jeu. 14 oct. 2010 16:22
par sksbir
Bonjour
Quand on crée 2 scripts autoit, l'un utilisant tcpsend et l'autre tcprecv
envoi ( script autoit sur machine A) : TCPSend($ConnectedSocket, $TEXTEREPONSE)
reception (script autoit sur machine B ) : $REPONSE=TCPRecv($TEST, 2048,1)
Quand il y a "1" dans $TEXTEREPONSE, je retrouve 0x01000000 dans $REPONSE (même avec l'option 1 activée pour tcprecv )
et j'ai vérifié via stringlen que la réponse fait 10 caracteres de long..( c'est bien une chaine ).
C'est normal docteur ?
ps : autoit v3340.
Re: [..] Quand 1 devient la chaine 0x01000000 via TCP
Posté : jeu. 14 oct. 2010 21:47
par SrBelial
hé bien je suppose qu'il nous sort une conversion en hexa ...
vous verrez, deux jours d'antibiotiques et ça sera plus qu'un mauvais souvenir ...
faites aaaaah en tirant la langue pour voir !?
par contre je m'explique pas tous les zéros à la fin ...
Re: [..] Quand 1 devient la chaine 0x01000000 via TCP
Posté : ven. 15 oct. 2010 06:53
par GELDROC
il ne faudrait pas mètre seulement 1 prenez l'exemple de Team MSGI utilise un opérateur de commande
donc le résulta ne sera jamais de hexadécimal
exemple :
Code : Tout sélectionner
$TCP_Recv = 2 & "XOPER" & 1 & "XOPER"
$TCP_Recv = stringsplit($TCP_Recv, "XOPER", 1)
; résulta
;$TCP_Recv[0] = 2 (nombre de résulta du stringsplit)
;$TCP_Recv[1] = "2"
;$TCP_Recv[2] = "1"
Re: [..] Quand 1 devient la chaine 0x01000000 via TCP
Posté : ven. 15 oct. 2010 08:59
par sksbir
GELDROC a écrit :il ne faudrait pas mètre seulement 1 prenez l'exemple de Team MSGI .......
J'ai rien compris, là...
Ton exemple, c'est la création d'une chaine de caractère "2XOPER1XOPER" puis son découpage... je vois pas le rapport avec la choucroute
Et puis "Team MSGI", c'est toi non ? vu que j'ai suivi le lien ... par contre le rar à télécharger n'aboutit nulle part.
Re: [..] Quand 1 devient la chaine 0x01000000 via TCP
Posté : ven. 15 oct. 2010 09:26
par sksbir
bon, j'ai trouvé tout seul comment résoudre ça :
1/ enlever l'option 1 de tcprecv qui force la réception en binaire
2/ utiliser string($TEXTEREPONSE) pour tcpsend de façon à forcer l'envoi sous forme de chaine de caractère.
Dans ces conditions, je reçois bien "1" ou "0" à l'autre bout.
Cette solution me convient particulièrement car le programme d'envoi est également susceptible d'envoyer des "vraies" chaines de caractères. Comme ça, le traitement est homogène.
Merci à tous
ps : @SrBelial : j'ai finalement utilisé un petit suppo

Re: [R] Quand 1 devient la chaine 0x01000000 via TCP
Posté : sam. 16 oct. 2010 13:34
par SrBelial
[lol le suppo]
merci d'avoir partagé ta solution avec nous !