wysyłanie tablicy - tcp

0

Mam C++ napisany server tcp. Do tego napisałem prostego klienta który generalnie wysyła takie coś

unsigned char bufferr[] = {192, 0,0,0,0,1,0,1, 84, 84,84,32, 79,66, 127};

Po odebraniu danych mam {192, 0,0,0,0,1,0,1, 84, 84,84,32, 79,66, 127};

Chciałem sobie napisać klienta www do tego serwera tak aby przez stronę generować wartości i wysyłać.
Mój skrypt php wygląda tak:

{
...
$address = $_REQUEST["address"] ;
...
if($_GET["l8"] == null){
    $l8 = 0;
  }else{
    $l8 = strtoupper($_GET["l8"]);
    $l8 = ord($l8);
  };
$answer = array($address, $speed, $delete, $size, $place, $red, $green, $blue, $l1, $l2, $l3, $l4, $l5, $l6, $l7, $l8, $loop_work);
$fp = fsockopen("localhost", 9876, $errno, $errstr, 10);
  if (!$fp) {
      echo "$errstr ($errno)<br />\n";
  } else {
      fwrite($fp, $answer);
      while (!feof($fp)) {
        echo "Odp: ";
          echo fgets($fp, 128);
      }
      fclose($fp);
  }

Generalnie przy próbie wysłania array jest error timeout, a po usunięciu array z $answer wysyła ale znak po znaku i tym samym mam po odebraniu zamiast {192,...} ma {1,9,2,...}
Jak w php wysłać całą wartość jako jeden char?

0

Można zrobić z tablicy stringa w postaci serialize (http://php.net/manual/en/function.serialize.php) czyli jakby zakodowanej tablicy - będzie to ciąg znaków, nie wiem czy da się to od strony C++ obrobić (zrobić unserialize). Można też wysłać JSONem tablicę http://php.net/manual/en/function.json-encode.php może będzie łatwiej dekodować po drugiej stronie mocy ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1