Byte-Download sehr langsam?
Übersicht

maxinetBetreff: Byte-Download sehr langsam? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich hab ein Problem mit einem Download via ReadByte - WriteByte. Doch leider ist es irgendwie sehr langsam. Code: [AUSKLAPPEN] bytes$=ReadByte(tcp)
status_bytes#=(status_bytes#+1) WriteByte(fp,bytes$) status_bar#=(status_bytes#/size#) Schneller ist es so: Code: [AUSKLAPPEN] WriteByte fp, ReadByte(tcp)
Dann habe ich aber keine Status-Anzeige. Hat jemand 'ne Idee?? Gruss MaXi! |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schreiben und lesen auf TCP ist eine locking operation. solange das byte nicht sauber übertragen ist wartet das programm.
pack die daten gescheit in nachrichten und schick nicht einzelne bytes sondern ganze blöcke. damit sollte sich das problem beträchtlich entschärfen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
oO
@Maxi: was hat das eine mit dem Anderen zutun? Was du erreichen willst kannst du einfach so machen: Code: [AUSKLAPPEN] status_bytes#=(status_bytes#+1)
status_bar#=(status_bytes#/size#) WriteByte fp,ReadByte(tcp) Aber ich glaube nicht, dass das wirklich besser ist. Versuch es lieber mit banken ^^ |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh also 1. gibt Readbyte ein Int zurück, weshalb die variable schonmal ein Integer sein sollte 2. glaub ich eher, das du einen Statusbalken anzeigst und das etwas zu oft, alle 500-1000 millisekunden reicht, 3. kannst du deine statusbytes erhöhen, ohne noch ein extra variable für readbyte zu nutzen... | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, Downloads via Readbyte/Writebyte sind so ätzend langsam, ich würd das lassen. Verwendet dafür lieber ReadBytes/Writebytes (kleiner, aber feiner unterschied ![]() Code: [AUSKLAPPEN] Repeat
size = ReadBytes (bank, stream, 0,100) WriteBytes (bank, file,0,size) Until Eof (stream) bank ist eine bank, die in dem Fall 100 Byte groß sien muss, stream enthält den Netzwerkstream, von dem kopiert wird, file hat die fileID, in die geschireben wird. Über die Variable size kannst du dann auch den Statusbalken erstellen. Mit diesem Code hab ich sowohl meine Internet- als auch Netzwerkleitung ausgereizt. So hängt die Grenze nicht mehr an der Soft- sondern Hardware. |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group