Hallo Community,
ich beschäftige mich derzeit mit den Sockets in php4. Habe mir einen kleinen Server und einen Client dazu gepinselt. Soweit funktioniert auch alles ganz gut, bis auf folgendes Problem:
Ich sende vom Client Daten an den Server, es sind schon ein paar mehr und der Server liest die per socket_read() auch ein, allerdings nicht vollständig.
Das Problem hatte ich auch in die andere Richtung. Allerdings habe ich es dort auf folgende Weise gelöst:
Wenn ich das nun auf dem Server versuche genau so zu lösen endet das immer in einer Endlosschleife. Hier ein Ausschnitt:
Wie gesagt das ganze endet immer in einer Endlosschleife. Nehm ich das ohne die while schleife läuft das Script aber die Daten werden nicht komplett eingelesen. Hat da jemand einen Tipp für mich wie ich das am besten lösen kann? Danke schon mal
MfG
ich beschäftige mich derzeit mit den Sockets in php4. Habe mir einen kleinen Server und einen Client dazu gepinselt. Soweit funktioniert auch alles ganz gut, bis auf folgendes Problem:
Ich sende vom Client Daten an den Server, es sind schon ein paar mehr und der Server liest die per socket_read() auch ein, allerdings nicht vollständig.
Das Problem hatte ich auch in die andere Richtung. Allerdings habe ich es dort auf folgende Weise gelöst:
PHP-Code:
while($buffer = socket_read($sock, 2048)){ $input .= $buffer; }
PHP-Code:
while(isset($sock)){ #### Socket Server soll permanent laufen
$client = socket_accept($sock);
while($read = socket_read($client, 2048)){
$input .= $read;
}
# Ab hier dann weitere Anweisungen was mit den gelesenen Daten passieren soll.
MfG
Kommentar