Hallo zusammen
Ich möchte einen Internet SpeedTest machen und habe den DownloadSpeedTest schon umgesetzt. Allerdings fehlt mir noch eine Idee für den Upload-Test. Hier ist der bisherige Code als Minimal-Beispiel:
C
#include <InetConstants.au3>
#include <File.au3>
$threshhold_download = 450
$threshhold_upload = 30
$RemoteTestFile = 'http://ipv4.download.thinkbroadband.com/10MB.zip'
$TempFile = _TempFile()
$average_download_speed = 0
$average_upload_speed = 0
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$oSelect_active_network_cards = $objWMIService.ExecQuery('SELECT ProductName FROM Win32_NetworkAdapter WHERE NetConnectionStatus = 2 OR NetConnectionStatus = 9', "WQL")
For $oSelect_active_network_card In $oSelect_active_network_cards
$active_network_card = stringright($oSelect_active_network_card.ProductName, 10)
Next
$hDownload = InetGet ($RemoteTestFile, $TempFile, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
Do
CaptureDownloadSpeed ()
sleep(1)
Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)
MsgBox (0, '', 'Average download speed = ' & $average_download_speed * 8 & " kbit/s")
Func CaptureDownloadSpeed ()
$oNetwork_cards = $objWMIService.ExecQuery("SELECT BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface WHERE name LIKE '%" & $active_network_card & "%'", "WQL")
For $oNetwork_card In $oNetwork_cards
$current_download_speed = Round($oNetwork_card.BytesReceivedPerSec / 1024)
If $average_download_speed = 0 Then $average_download_speed = $current_download_speed
If $current_download_speed > $threshhold_download Then $average_download_speed = Round(($current_download_speed + $average_download_speed) / 2)
Next
EndFunc
Func CaptureUploadSpeed ()
$oNetwork_cards = $objWMIService.ExecQuery("SELECT BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface WHERE name LIKE '%" & $active_network_card & "%'", "WQL")
For $oNetwork_card In $oNetwork_cards
$current_upload_speed = Round($oNetwork_card.BytesSentPerSec / 1024)
If $average_upload_speed = 0 Then $average_upload_speed = $current_upload_speed
If $current_upload_speed > $threshhold_upload Then $average_upload_speed = Round(($current_upload_speed + $average_upload_speed) / 2)
Next
EndFunc
Alles anzeigen
Meine Frage ist: Wie mache ich denn den eigentlichen Upload? Wohin lade ich denn hoch? Schön wäre die Möglichkeit, an einen "neutralen" Ort eine Datei von 10MB hochzuladen. Bin für Ideen dankbar!
Viele Grüße