Socket et caractère hexa

Petit nouveau ! | 1 Messages

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