Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 09:37   #1
yazy4nik
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию ping Imcp пакетом с типом 13

задача: Нужен пингер с точность времени пинга до микросекунд.

Класс Ping не подходит, округляет дробные миллисекунды неправильно.
Решил сам формировать пакеты Icmp с типом 13, думал найти пример но все они как то не так реализованы.
Все используют пакет типа 8, время пинга замеряют в точке оправки пакета, и в точке когда эхо приняли.
Я же хочу поэксперементировать и делать расчет из временных меток(что будет более точным, я так думаю).
Проблема в том что я не могу написать класс для Icmp, вернее заголовок пакета написан, а вот как временные метки туда засунуть не пойму.
Подскажите плиз.
yazy4nik вне форума Ответить с цитированием
Старый 06.07.2011, 10:29   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

В итоге винда отправит расчет этих ваших временных меток в конец очереди к процессору и плакали эти ваши точные микросекунды.
pu4koff вне форума Ответить с цитированием
Старый 06.07.2011, 10:49   #3
yazy4nik
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

а начальную метку я сам не могу поставить? например перед самим отправлением я помещаю в метку тики и отправляю пакет.
Ну или раз уж вы знаете как будет более точно, по расскажите как и объясните плиз.
yazy4nik вне форума Ответить с цитированием
Старый 06.07.2011, 12:26   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Выставить приоритет процесса tpTimeCritical. Хотя не уверен, что даже в этом случае будет обеспечена достаточная точность.
Баламут вне форума Ответить с цитированием
Старый 07.07.2011, 09:46   #5
yazy4nik
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

Вчера делал тесты. Замерял время перед Socket.SendTo и сразу после разница ровно в 1мс. При каком замере получается правильный результат?
И вопрос по ICMP если его формировать в ручную, и ставить type 13 то поле Data нужно самому заполнять временной меткой или же винда сама его заполняет, если винда его сама заполняет то я могу как нить в этот процесс вмешаться и сам поставить метку в тиках?
yazy4nik вне форума Ответить с цитированием
Старый 07.07.2011, 14:55   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

10 мс - это гарантированная точность под win -системами.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.07.2011, 16:02   #7
yazy4nik
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

10мс точность вообще, работы со временем в винде и даже если работать с тиками?
yazy4nik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двойной ping stupid C# (си шарп) 6 29.03.2011 11:08
ping TaTT DoGG Общие вопросы .NET 2 06.10.2008 12:48
Вопрос о Ping! TyoshA Работа с сетью в Delphi 2 05.02.2008 22:10
Проблема с пакетом MS Office 2000 alexvic Microsoft Office Word 1 06.10.2007 08:37
Ping Баламут Работа с сетью в Delphi 5 23.08.2007 15:17