Code schneller machen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Jean

Betreff: Code schneller machen?

BeitragDo, Feb 10, 2005 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

Kann mir jemand helfen diesen Code schneller zu machen? Könnte ich auch statt einer Tcp Verbindung eine Udp Verbindung herstellen? Kann mir jemand sagen wie ich den Code dann ändern muss?

Hier der Code:

Code: [AUSKLAPPEN]
Const BUFFER_SIZE = 100000

LoadWebFile( "http://codecc.co.funpic.de/test/a.txt", "c:\a.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/b.txt", "c:\b.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/c.txt", "c:\c.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/d.txt", "c:\d.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/e.txt", "c:\e.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/f.txt", "c:\f.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/g.txt", "c:\g.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/h.txt", "c:\h.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/i.txt", "c:\i.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/j.txt", "c:\j.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/k.txt", "c:\k.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/l.txt", "c:\l.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/m.txt", "c:\m.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/n.txt", "c:\n.txt")
LoadWebFile( "http://codecc.co.funpic.de/test/o.txt", "c:\o.txt")
Print "OK"
WaitKey
End

Function LoadWebFile( srcFile$, dstFile$ )
Local TCPStream, tmpPos, dataSize, tmpBank
Local Host$ = "", HTTPHeader$ = ""
Local Buffer = BUFFER_SIZE

If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 )

tmpPos = Instr( srcFile$, "/" )

If ( tmpPos ) Then
Host$ = Left( srcFile$, tmpPos - 1 )
srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 )
Else
Host$ = srcFile$
srcFile$ = "/"
End If

TCPStream = OpenTCPStream( Host$, 80 )

If ( Not TCPStream ) Then
RuntimeError( "Fehler beim verbinden zu: " + Host$ )
End If

WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" )
WriteLine( TCPStream, "Host: " + Host$ )
WriteLine( TCPStream, "Accept: */*" )
WriteLine( TCPStream, Chr$( 10 ) )

Repeat
HTTPHeader$ = ReadLine( TCPStream )

If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then
dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 )
End If
Until HTTPHeader$ = "" Or Eof( TCPStream )

If ( dataSize > 0 )
file = WriteFile( dstFile$ )
tmpBank = CreateBank( Buffer )

If ( Not file ) Then
RuntimeError( "Fehler beim erstellen der Downloaddatei" )
End If
Repeat
bytesRemaind = dataSize - bytesReaded

If ( bytesRemaind < BUFFER_SIZE ) Then
Buffer = bytesRemaind
End If

s = ReadBytes( tmpBank, TCPStream, 0, Buffer )
WriteBytes( tmpBank, file, 0, s )

bytesReaded = bytesReaded + s
Until s <> BUFFER_SIZE

CloseFile( file )
CloseTCPStream( TCPStream )
FreeBank( tmpBank )
End If
Print "Juhuu"
End Function


THX
 

David

BeitragDo, Feb 10, 2005 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Nein du kannst keine UDP Verbindung herstellen. Was für ein Vorteil hätte das auch... Und der Code ist nicht langsam, höchstens deine Internetanbindung.

grüße

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group