Hallo zusammen,
ich habe ein paar Probleme mit Fsockets und fgets().
Wenn ich z.B bei einer offenen verbindung eine Zeile aus dem Fsocket file
auslesen möchte benutze ich $data = fgets( $handle, 1024 );.
Das ist soweit auch kein Problem wenn die Daten die empfangen werden nicht länger als
eine Zeile sind.
Das Problem fängt an wenn die Daten länger sind.
Man müsste ja denken auch dies sollte kein Problem sein indem
man folgende Funktion nutzt:
Tja dies funtioniert aber nur wenn nach der Übertragung die
verbindung vom server gekappt wird ansonsten wird !feof()
niemals erreicht. In dieser Situation befinde ich mich aber leider nicht.
Bei mir bleibt die Verbindung weiter bestehen.
Man könnte jetzt z.B ein Abschlusszeichen definieren wie z.B mit der folgenden
Funktion:
Dies würde definitiv gehen. Aber leider bei mir nicht, da es kein Abschlusszeichen
gibt.
Deshalb würde ich gerne wissen ob es nicht noch eine andere Variante gibt.
Ich habe schon einiges ausprobiert aber nichts geht so richtig.
Gehen muss es ja irgendwie denn wenn ich z.B mit Telnet die Verbindung aufbaue
kann Telnet Daten empfangen ohne jegliches Abschlusszeichen zu kennen.
Die Frage ist nur WIE?????
ich habe ein paar Probleme mit Fsockets und fgets().
Wenn ich z.B bei einer offenen verbindung eine Zeile aus dem Fsocket file
auslesen möchte benutze ich $data = fgets( $handle, 1024 );.
Das ist soweit auch kein Problem wenn die Daten die empfangen werden nicht länger als
eine Zeile sind.
Das Problem fängt an wenn die Daten länger sind.
Man müsste ja denken auch dies sollte kein Problem sein indem
man folgende Funktion nutzt:
PHP-Code:
while( !feof( $handle )
$date .= fgets( $handle, 1024 );
verbindung vom server gekappt wird ansonsten wird !feof()
niemals erreicht. In dieser Situation befinde ich mich aber leider nicht.
Bei mir bleibt die Verbindung weiter bestehen.
Man könnte jetzt z.B ein Abschlusszeichen definieren wie z.B mit der folgenden
Funktion:
PHP-Code:
$date = fgets( $handle, 1024 );
while( !ereg( "\.\n\r" $data )
$date .= fgets( $handle, 1024 );
gibt.
Deshalb würde ich gerne wissen ob es nicht noch eine andere Variante gibt.
Ich habe schon einiges ausprobiert aber nichts geht so richtig.
Gehen muss es ja irgendwie denn wenn ich z.B mit Telnet die Verbindung aufbaue
kann Telnet Daten empfangen ohne jegliches Abschlusszeichen zu kennen.
Die Frage ist nur WIE?????
Kommentar