socket_read() doet raar

Plaats reactie
Sub Zero
Administrator
Administrator
Berichten: 6181
Lid geworden op: 15 sep 2002, 12:14
Locatie: Herzele
Uitgedeelde bedankjes: 74 keer
Bedankt: 121 keer
Contacteer:

Als ik socket_read() gebruik samen met PHP_NORMAL_READ, dan krijg ik meestal een rare error. Hoewel het mooi zou moeten werken volgens php.net.

De opstelling is als volgt. Er draait een zelfgeschreven daemon die plain tekst over de verbinding inleest en daarop een antwoord terug stuurt, ook plain tekst. Het versturen werkt, de daemon krijgt alles binnen, de daemon verstuurt dan ook de response, maar daar loopt het mis. Ik krijg dan volgende foutmelding.

Warning: socket_read() [function.socket-read]: unable to read from socket [0]: The operation completed successfully. in c:\PHP\www\daemon\index.php on line 34

Code: Selecteer alles

  $serviceport = 18002;
  $address = "127.0.0.1";

  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

  if ($socket < 0) {
    die("socket_create failed. Reden: ".socket_strerror($socket));
  } else {
    echo "Socket gemaakt<br>\n";
  }

  $connection= socket_connect($socket, $address, $serviceport);
  if ($connection < 0) {
    echo "socket_connect() failed. Reden : ".socketstrerror($connection);
  } else {
    echo "Connectie gelegd.<br>\n";
  }

  $request = "CPU\r\n";

  socket_write($socket, $request, strlen($request));

  $info = "";
  while($info = socket_read($socket, 2048, PHP_NORMAL_READ)) {      //<-- regel 34
    echo "CPU-info : ".$info;
  }

  socket_close($socket);


Als ik een raw verbinding open naar de daemon doet ie alles goed. Dus het ligt echt aan het PHP gedeelte. Iemand een goeie tip? :)

Thanks!
Afbeelding
Sub Zero
Administrator
Administrator
Berichten: 6181
Lid geworden op: 15 sep 2002, 12:14
Locatie: Herzele
Uitgedeelde bedankjes: 74 keer
Bedankt: 121 keer
Contacteer:

Probleem opgelost.

Code: Selecteer alles

socket_recv($socket, $info, 8192, 0);


Dit in de plaats zetten van de socket_read().

Toch bedankt :)
Afbeelding
Plaats reactie

Terug naar “Development”