ich weiss leider nicht genau wie ich Daten von einem Socket lesen kann. Ich habe im Manual die Funktion socket_read gefunden aber ich kann sie nicht richtig anwenden. Hier zuerst einmal der Anfang des Scripts:
$socket = socket_create(AF_INET, SOCK_STREAM, 6); socket_bind($socket, '127.0.0.1', 80); socket_listen($socket);
Und jetzt gehe ich auf die eingehenden Verbindungen ein:
while (true) { $socket_conn = socket_accept($socket); socket_getpeername($socket_conn, $addr); echo "# incoming connection from ".$addr."\n";
So, jetzt folgt der Teil des Lesens.
while(true) { $buffer = @socket_read($socket_conn, 128, PHP_NORMAL_READ); echo '* reading: "'.$buffer."\"\n"; } }
Natuerlich bekomme ich jetzt eine Reihe von * reading "", weil socket_read einen leeren string zurueck gibt, wenn es keine Daten mehr gibt. Wenn ich aber $buffer vorher mit empty() ueberpruefe, dann empfange ich gar keine Daten. Es wird auf jeden Fall nichts angezeigt.
Und wenn ich folgendes versuche, dann empfange ich auch nichts.
$buffer = @socket_read($socket_conn, 128, PHP_NORMAL_READ); while(!empty($buffer)) { $buffer = @socket_read($socket_conn, 128, PHP_NORMAL_READ); echo '* reading: "'.$buffer."\"\n"; }
Ich wuerde mich freuen, wenn mir da jemand weiterhelfen koennte. Vielen Dank schonmal im Vorraus.
Gruesse,
PelzigesWaldtier