[R] Quand 1 devient la chaine 0x01000000 via TCP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

[R] Quand 1 devient la chaine 0x01000000 via TCP

#1

Message 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 ? :mrgreen:

ps : autoit v3340.
Modifié en dernier par sksbir le ven. 15 oct. 2010 09:25, modifié 1 fois.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] Quand 1 devient la chaine 0x01000000 via TCP

#2

Message 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 ...
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [..] Quand 1 devient la chaine 0x01000000 via TCP

#3

Message 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"

 
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Quand 1 devient la chaine 0x01000000 via TCP

#4

Message 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.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Quand 1 devient la chaine 0x01000000 via TCP

#5

Message 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 :lol:
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [R] Quand 1 devient la chaine 0x01000000 via TCP

#6

Message par SrBelial »

[lol le suppo]
merci d'avoir partagé ta solution avec nous !
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Répondre