Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
angel
1

Определение скорости подключения клиента

20.11.2007, 14:32. Просмотров 910. Ответов 9
Метки нет (Все метки)

Люди кто как решал такую задачу по определению, с какой скоростью клиент подцепился ???

А то тут у заказчика блин очередная 'светлая мысля' пришла в голову, а я как к ней подступить не знаю
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2007, 14:32
Ответы с готовыми решениями:

Реализация клиента для подключения к серверу на WebSocket
Добрый день. Есть сервер разработанный на c++. Сервер использует подлинный сертификат и работает в...

Определение успешности подключения к источнику данных
Подключаюсь к источнику данных conn.Open 'Driver=Microsoft Excel Driver (*.xls);DBQ=file.xls' ...

Геолокация. Как реализовать определение местоположение клиента
Здравствуйте! Не могу принять решения как реализовать определение местоположение клиента. Нужен...

Проверка скорости сетевого подключения
Мне необходимо осуществлять в своём приложении проверку скорости сетевого подключения. Мною было...

подключения клиента SqlServer
private SqlConnection SqlConnection = new SqlConnection("Data Source=Admin-PC;Initial...

9
.:Wind:.
0 / 0 / 0
Регистрация: 07.09.2007
Сообщений: 64
20.11.2007, 16:09 2
Создаешь в скрипте клиента новую имагу, одновременно определяешь время начала загрузки, потом по objImg.OnReadyStateChange = 4 останавливаешь счетчик и считаешь за какое время скоко байтов грузанул клиент.
0
angel
20.11.2007, 16:26 3
Ок, спасибо за наводку :-)
Осталось только найти похожее свойство у IMG в объектных моделях других браузеров
.:Wind:.
0 / 0 / 0
Регистрация: 07.09.2007
Сообщений: 64
20.11.2007, 16:31 4
Попробуй onload
0
20.11.2007, 16:31
Sergik
21.11.2007, 09:36 5
1) изображение может быть в кэше (браузера или proxy)
2) изображение может грузиться одновременно с другими изображениями, страницами
3) в момент выдачи изображения на сервере может происходить какой-нить глобальный процесс, что уменьшит скорость выдачи изображения
4) у клиента может быть отключен javascript
5) у клиента может быть отключен показ изображений
Вывод: для подсчета статистики такой способ не годится, ничего другого, к сожалению, посоветовать не могу, самому было бы интересно узнать
.:Wind:.
0 / 0 / 0
Регистрация: 07.09.2007
Сообщений: 64
21.11.2007, 09:56 6
Код
<script language=JScript runat=server>
function timeForResponse()
{
var tmpDate=new Date();
firstTime=tmpDate.getTime();
  Response.Write('достаточно объемный текст, например первая страница сайта');
secondTime=tmpDate.getTime();
return(firstTime-secondTime);
}
<script>
<%
neddedTime = timeForResponse()
%>
Вот такая вот идея, getTime в JScript выдает время в миллисекундах. Ошибка + - миллисекунда.
Дальше работа с байтами и тд.
0
angel
21.11.2007, 10:14 7
> 1) изображение может быть в кэше (браузера или proxy)
> 2) изображение может грузиться одновременно с другими изображениями,
> страницами
> 3) в момент выдачи изображения на сервере может происходить какой-нить
> глобальный процесс, что уменьшит скорость выдачи изображения
> 4) у клиента может быть отключен javascript
> 5) у клиента может быть отключен показ изображений

Ок, продолжаем разговор.
А есть кто-нибуть кто может что-нибуть дельное сказать на тему, поразбирать HTTP заголовки ручками ?
т.е. идея какая - передаем клиенту файл известной длинны.
А секундомер останавливаем, после того как отловили заголовок - типа, конец передачи ?
( если такой есть вообще, а то я поди научную фантастику придумываю :-) )

Кто разбирался с HTTP раскритикуйте плиз или дельного чего лучше скажите, а то 'тучи сгущаются' :-(
angel
21.11.2007, 10:18 8
2 Wind
Спасибо за пример.
Но есть такой вопрос - в принципе ведь эта страца может прокешироваться - как этого избежать ?
Sergik
21.11.2007, 10:38 9
to Wind: дело в том, что инструкции
secondTime=tmpDate.getTime();
return(firstTime-secondTime);
не обязательно выполняться после того, как весь response.write будет передан клиенту; это будет время не выдачи клиенту, а время выполнения команды Response.write

мне представляется, что время надо замерять клиентским скриптом, примерно так (скрипты возможно с ошибками):
<html>
<head>
<script>var t1=текущее_время</script>
<meta name='keywords' ...(длина этого известна)
<meta name='description' ...(длина этого тоже известна)
<script>
var t2=текущее_время;
var a=new Image;
a.src='asp_который_добавляет_скорость_соединения_в_БД_или_в_Session.asp?time='+(t2-t1);
</script>
</head>

опять же c отключенным javascript ничего не выйдет
Sergik
21.11.2007, 10:42 10
или даже так:
<script scr='asp_который_запоминает_время1_в_Session.asp'></script>
кусок текста известной длины
<script scr='asp_который_вычисляет_скорость_на_основе_время1_в_Session_и_текущего_времени.asp'></script>
21.11.2007, 10:42
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2007, 10:42

Ошибка подключения клиента к серверу
На одном компе соединение устанавливается и все работает,но на разных, клиент не подключается и...

Логгер состояния wi-fi подключения клиента
Добрый день! Следующая ситуация. В квартире начал самопроизвольно отключаться wi fi на двух...

Как мониторить подключения и отключения клиента от сервера?
Есть клиент серверное приложение с использованием TcpServer и TcpClient, как можно регистрировать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.