[Erledigt] Größe eines (TCP/HTTP-)Streams herausfinden
Übersicht

E. Urbachehemals "Basicprogger"Betreff: [Erledigt] Größe eines (TCP/HTTP-)Streams herausfinden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie finde ich heraus, wie viele Bytes man in einem Stream noch auslesen kann?
Ist das überhaupt möglich? Ich habe nämlich die Funktion Code: [AUSKLAPPEN] StreamSize
probiert, aber diese liefert immer 0. Auch im Quelltext des Moduls steht: Code: [AUSKLAPPEN] Return 0
Ist diese Funktion etwa noch nicht fertig programmiert? Gibt es Alternativen? |
||
- Zuletzt bearbeitet von E. Urbach am So, Apr 30, 2006 10:28, insgesamt 2-mal bearbeitet
![]() |
rema |
![]() Antworten mit Zitat ![]() |
---|---|---|
TCP unterstützt sowas nicht. Das geht nur in der nächst höheren Protokollebene, wie zbsp FTP oder HTTP. Und diese Infos sind normalerweise im Header dieser Protokolle enthalten, bzw kannst du diese auch seperat abrufen. | ||
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: wie zbsp FTP oder HTTP. Und diese Infos sind normalerweise im Header dieser Protokolle enthalten
Ich hab das auch mit HTTP versucht, aber leider ist dies nicht immer so. Wenn ich per HTTP auf eine .php Datei zugreife, dann sind diese Daten im Header leider nicht vorhanden. Bei .zip Dateien steht im Header dann: Code: [AUSKLAPPEN] Content-Length: <Bytes>
Weiss vielleicht jemand wie ich diese Daten bei .php Dateien ermittle? [EDIT] Erledigt, für mein Projekt wird diese Information nicht weiter benötigt. Dennoch weiß ich immer noch nicht wie die Antwort auf die letzte Frage lautet. [/EDIT] |
||
- Zuletzt bearbeitet von E. Urbach am So, Apr 30, 2006 11:25, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Antwort darauf ist: Garnicht
Der Server kann dir nicht sagen, wie viele Daten das PHP-Script an dich rausfeuert, wird bei allen Scripten so sein, die Serverseitig evaluiert werden. |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch das geht, zumindest bei meinem Webserver. Serverseitige Scripte werden erst intern abgearbeitet, und die ganze Ausgabe wird generiert. Dann wird die Ausgabe per HTTP-Protokoll gesendet, also weiss der Server wie lang der Inhalt ist.
Auszug von einem kleinen B3D Test auf eine index.php: Code: [AUSKLAPPEN] ...
X-Powered-By: PHP/5.0.4 Content-Length: 184 ... |
||
![]() |
SoNenTyp |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das macht aber nicht jeder Server so, ist einstellungssache, und bei vielen Scripten wird der Puffer vorzeitig gelehrt. Wodurch das Senden des HTTP Headers ausgelößt wird. | ||
Gruss Der Typ.
User posted image |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok ![]() Dann gibts aber noch die Möglichkeit beim Stream abzufragen wieviel Bytes gelesen werden können, was ursprünglich die Frage war: Bei normalen SocketStreams müsste es so gehen: Code: [AUSKLAPPEN] Local bytes:Int = stream.Socket().ReadAvail()
|
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group