Согласно скорости загрузки клиента, я хочу показать видео в низком или высоком качестве. Любое решение Javascript или C# приемлемо.Как узнать скорость загрузки клиента с сервера?
Спасибо.
Согласно скорости загрузки клиента, я хочу показать видео в низком или высоком качестве. Любое решение Javascript или C# приемлемо.Как узнать скорость загрузки клиента с сервера?
Спасибо.
Нет никакого способа быть уверенным. Вы можете только измерить, как быстро вы можете отправить данные клиенту. Без какого-либо ввода от клиента, чтобы указать, насколько быстро он получает информацию, вы не можете многое сделать.
Вы можете перенаправить клиента на страницу, которая использует javascript для загрузки элемента на странице с известным размером. Затем найдите время в начале и в конце загрузки и перенаправьте страницу на URL-адрес, сконструированный через javascript на клиенте, который отправит вам время, необходимое для загрузки элемента.
Учитывая, что вы знаете размер элемента, вы можете оценить скорость и сделать предположение относительно скорости загрузки.
Большинство веб-сайтов просто позволяют пользователю выбирать высококачественную или некачественную версию.
Это плохая идея, не в последнюю очередь потому, что большинство пользователей могут контролировать свою пропускную способность самостоятельно (т.е. я бегаю P2P приложения, которые используют значительную пропускную способность, но я их отключить, если что-то еще нужно приоритет.)
Я знаю, что пропускная способность клиента может измениться в приложениях, которые он использует. Я хочу знать скорость. Но, похоже, нет способа узнать это. –
You может использовать Silverlight или Flash как загрузить pugin. Это позволит вам иметь реальный контроль над клиентом на том, что загружено, каково состояние и скорость загрузки, когда загрузка была запущена.
Здесь post о том, как работает gmail и как он находит интернет-скорость пользователя. Вы можете получить некоторые идеи.
Может быть, в JavaScript, вы можете сделать что-то вроде:
var testImg = document.createElement('img');
testImg.src="src.jpg"; // image with known size
var imageSize = 10; // for 10 k image
testImg.onload = function(){
var downloadRateKPerSrc = imageSize/((new Date().getTime() - startTime)/1000);
};
testImg.style.display='none';
var startTime = new Date().getTime();
document.body.appendChild(testImg);
непроверенного кода - но эта идея может работать?
Вы можете посмотреть свой адрес в GeoIP NetSpeed: http://www.maxmind.com/app/geolocation
Вот так я думал. Я не мог найти лучшего способа. Кажется, нет! –