Socket et caractère hexa

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Socket et caractère hexa

Socket et caractère hexa

par pieropiero » 14 avr. 2008, 17:52

Bonjour.

Je recois par une socket la chaine :

"0xfe 0x41 0xef"

0xfe et 0xef, c'est mon protocole, 0x41 c'est la lettre A.

Comment puis je tester la présence du 0xfe ?

Deuxième question : comment recevoir des données de longueur variable ? (dans ma chaine reçue, j'aurai un champ longueur)
Peut être je ne devrais pas utiliser socket_recvfrom ?

Merci beaucoup.
  $host = "192.168.0.74";
  $port = "20000";
  $mysock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
  socket_bind($mysock, 0, $port); 
  socket_recvfrom($mysock, $buffer, 24, 0, &$host, &$port);   
  socket_close($mysock);

echo $buffer;  // renvoie (?)A(?)   avec (?) qui est un caractère non reconnu. Ce qui est normal.
$test = str_split($buffer);
if ($test[0] == 0xfe)  echo ("0xfe"); //test non validé
if ($test[0] == 0xFE)  echo ("0xFE");//non plus