Code: Select all
InitNetwork()
a=ElapsedMilliseconds()
ReceiveHTTPFile("http://purebasic.com",GetTemporaryDirectory()+Str(Random(99)))
Debug ElapsedMilliseconds()-a
Result: 5.00 around 150 ms
Only me?

Code: Select all
InitNetwork()
a=ElapsedMilliseconds()
ReceiveHTTPFile("http://purebasic.com",GetTemporaryDirectory()+Str(Random(99)))
Debug ElapsedMilliseconds()-a


Code: Select all
Procedure DownloadFromURL(URL.s, Filename.s)
Protected u = CocoaMessage(0, 0, "NSURL URLWithString:$", @URL)
Protected d = CocoaMessage(0, CocoaMessage(0, 0, "NSData alloc"), "initWithContentsOfURL:", u)
If d
CocoaMessage(0, d, "writeToFile:$", @Filename, "atomically:", #NO)
CocoaMessage(0, d, "release")
EndIf
ProcedureReturn d
EndProcedure
a=ElapsedMilliseconds()
DownloadFromURL("http://purebasic.com",GetTemporaryDirectory()+Str(Random(99)))
Debug ElapsedMilliseconds()-aCode: Select all
Procedure DownloadToMemory(URL.s)
Protected m, m_size
Protected u = CocoaMessage(0, 0, "NSURL URLWithString:$", @URL)
Protected d = CocoaMessage(0, CocoaMessage(0, 0, "NSData alloc"), "initWithContentsOfURL:", u)
If d
m_size = CocoaMessage(0, d, "length")
If m_size
m = AllocateMemory(m_size, #PB_Memory_NoClear)
If m
CocoaMessage(0, d, "getBytes:", m, "length:", m_size)
EndIf
EndIf
CocoaMessage(0, d, "release")
EndIf
ProcedureReturn m
EndProcedure
*mem = DownloadToMemory("http://purebasic.com")
*mem_size = MemorySize(*mem)
MessageRequester(Str(*mem_size) + " bytes", PeekS(*mem, *mem_size, #PB_UTF8))
FreeMemory(*mem)
Code: Select all
Procedure DownloadFromURL(i)
Debug Str(i)+ " STARTED"
Protected url.s="http://purebasic.com"
Protected filename.s=GetTemporaryDirectory()+Str(Random(99))
Protected u = CocoaMessage(0, 0, "NSURL URLWithString:$", @URL)
Protected d = CocoaMessage(0, CocoaMessage(0, 0, "NSData alloc"), "initWithContentsOfURL:", u)
If d
CocoaMessage(0, d, "writeToFile:$", @Filename, "atomically:", #NO)
CocoaMessage(0, d, "release")
EndIf
Debug Str(i)+ " DONE"
ProcedureReturn d
EndProcedure
For i=1 To 10
CreateThread(@DownloadFromURL(),i)
Next
It doesn't have the time to finish.jesperbrannmark wrote:Can it be threaded? Right now i dont get "DONE" in debug....