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

Hilfe
Neues Thema
Antworten
Nach oben

