ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

узнать скорость инет соединения используя пинг
  #1  
Старый 13.06.2010, 20:57
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию узнать скорость инет соединения используя пинг

Возможно ли узнать скорость инет соединения используя эхо запрос?
Если можно установить размер нагрузки ICMP пакета до 65 000 байт и замерять время прохождения ответа, будет ли это реальной скоростью подключения?
 
Ответить с цитированием

  #2  
Старый 13.06.2010, 21:18
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

не советовал бы так тестить. потому что ICMP мало надежный протокол, при этом он менее приоритетный и может фаером рубиться.
Вообще быстрее просто приконнектится к серваку и запросить страницу большую.
 
Ответить с цитированием

  #3  
Старый 13.06.2010, 21:26
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

я пробовал замерять момент между началом загрузки страницы и нулевым размером буфера через таймер в отдельном потоке
Код:
Procedure timer(it.l)
Repeat
Delay(1)
speedn.l = speedn.l + 1
Until speedn.l = 10000
EndProcedure

InternetReadFile_(hURL,@Buffer, Len(Buffer), @Bytes)
CreateThread(@timer(), 0)
If Bytes = 0
chk.d = Len(res)/speedn.l
Debug Str(chk.d)+" Kb/s"
EndIf
но результат очень странный, при скорости 4 Мбит/с выдало в 2 раза меньше
может дело в используемом сервере?
побывал грузить длинные манулы с ripn.net и соглашение с гугла
 
Ответить с цитированием

  #4  
Старый 13.06.2010, 21:31
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Цитата:
Procedure timer(it.l)
Repeat
Delay(1)
speedn.l = speedn.l + 1
Until speedn.l = 10000
EndProcedure
Если Delay это аналог Sleep то процедура твоя половину времени спит
ЗЫ Могу и ошибаться
 
Ответить с цитированием

  #5  
Старый 13.06.2010, 21:36
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

Цитата:
Сообщение от GhostOnline  
Если Delay это аналог Sleep то процедура твоя половину времени спит
ЗЫ Могу и ошибаться
спит 1 мс в отдельном потоке а потом плюсует единицу в переменную, это для замера к-ва мсок с начала загрузки, код на PureBasic, я ток кусок привел, работает норм

я думаю дело в сервере, гугл и рипн режут скорость в зависимости от того какую страницу запрашивает юзер, мне нужен сервер который дает минимум 10 Мбит/с на загрузку страниц
 
Ответить с цитированием

  #6  
Старый 13.06.2010, 21:41
Аватар для Faost
Faost
Новичок
Регистрация: 11.07.2009
Сообщений: 20
Провел на форуме:
39998

Репутация: 2
Отправить сообщение для Faost с помощью ICQ
По умолчанию

А если возложить эту задачу на сервис типа 2ip.ru?
 
Ответить с цитированием

  #7  
Старый 13.06.2010, 21:43
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

Цитата:
Сообщение от Faost  
А если возложить эту задачу на сервис типа 2ip.ru?
там каптча, да и изучать как оно работает нет времени
 
Ответить с цитированием

  #8  
Старый 13.06.2010, 21:46
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Цитата:
спит 1 мс в отдельном потоке а потом плюсует единицу в переменную, это для замера к-ва мсок с начала загрузки, код на PureBasic, я ток кусок привел, работает норм
Я тебе к тому, что твоя процедура может неправильно считать время
Я сделал тривиальный тест на дельфи:
Цитата:
var
old : Cardinal;
i :Integer;
begin
old := GetTickCount;
i := 0;
while i < 1000 do
begin
Sleep(1);
Inc(i);
end;
ShowMessage(IntToStr(GetTickCount - Old));
Все как у тебя: задержка, инкремент переменной
Так вот, в сообщении выдало 1953. Т.е. этот цикл выполнялся в два раза дольше чем должен был (по твоим рассуждениям)
Отсюда и у тебя неправильные результаты, типа скорость в 2 раза ниже.
PS Это предположение
 
Ответить с цитированием

  #9  
Старый 13.06.2010, 21:54
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

нет, все четко, 10 секунд в цикле на глаз 10 секунд

так понял что на делфи гдет лишнее время теряется
у мя четко 10 сек

Последний раз редактировалось PabloPicasso; 13.06.2010 в 21:59..
 
Ответить с цитированием

  #10  
Старый 13.06.2010, 21:57
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Inc - обычный инкремент.
Т.е. увеличение целочисленной переменной на единицу
Тоже самое что и i := i +1;
Или те кто на бэйсике даже не знают что такое инкремент?
Цитата:
нет, все четко, 10 секунд в цикле на глаз 10 секунд

по твоему коду у тебя не может быть больше 1000 =)
Не пойму мне видео снять еще?
Зачем мне врать то

PS От твоего поста я еще больше убедился в своей правоте

Цитата:
если чет печатает в ГУИ то там нехилая задержка должна быть, хотя дела это не меняет, в коде i может быть от 0 до 1000
Сначала вычисляется GetTickCount - Old, и только потом в дело вступает ГУИ и выводит что уже было вычислено. Да и все равно, задержка не может быть такой большой
Цитата:
так понял что на делфи гдет лишнее время теряется у мя четко 10 сек
Код в студию! Видать ты неправильно время измерил.
Не забывай что во время выполнения процедуры происходит переключение контекста. Ты его не учитываешь, а ведь время то на него уходит

Последний раз редактировалось GhostOnline; 13.06.2010 в 22:08..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать скорость деда skagen Болталка 5 09.06.2010 19:22
2 инет соединения, и две сети win2003 alexpro2004 Windows системы 4 20.04.2010 18:55
Надо узнать скорость канала..... diman94x Болталка 6 26.10.2009 16:58
Качественные и дешовые деды! lEh Хостинг, Dedicated, VDS, Сервера - Покупка, продажа 38 07.07.2009 19:57
узнать текущую скорость проца t04 С/С++, C#, Delphi, .NET, Asm 2 21.02.2009 19:24



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ