Я внедрил простой веб-клиент для загрузки файлов на веб-сервер. Вот соответствующая часть моего кода:C# webclient on WIFI
private bool fileUploadValid = new bool();
string fileLocation = "D:/testvideo.avi";
WebClient client = new WebClient();
public MainWindow()
{
InitializeComponent();
client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback);
// Specify a progress notification handler.
client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
client.Headers.Add("Content-Type", "binary/octet-stream");
UploadFileInBackground("http://xxx/videolibrary/fileUpload.php", fileLocation);
}
public void UploadFileInBackground(string address, string fileName)
{
Uri uri = new Uri(address);
client.UploadFileAsync(uri, "POST", fileLocation);
Console.WriteLine("File upload started.");
// fileUploadValid = false;
}
При попытке загрузить файл через Wi-Fi это очень медленно (хотя моя сила сигнала WiFi идеально). Загрузка происходит примерно каждые 5 секунд, а затем чаще всего продолжается, но иногда нет. Прекращение загрузки - моя самая большая проблема, потому что это не вызовет никакой ошибки (без тайм-аута или чего-то еще). Когда я подключаю свой ноутбук к сетевому кабелю, проблем нет, и загрузка заканчивается в кратчайшие сроки. Может кто-нибудь мне помочь?
Я также попробовал тот же код в своем университете, где он работает нормально. Там есть сеть WPA, где я здесь, в WEP-подписанном сетевом сете.
Вы пробовали использовать speedtest на вашем Wi-Fi? Webclient не различает Wifi v/s ethernet (он фактически находится на другом уровне OSI). –
ping 21ms downloadspeed 0.27mbs uploadspeed 0.86mbs – user1766412
Файл составляет 3 мб и занимает более 3 минут. Самая большая проблема заключается в том, что я вижу, как он замораживается при обратном вызове загрузки, какие-либо идеи? – user1766412