|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.07.2013, 17:42 | #1 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
[ping]
вообщем программка получает время приема-передачи до сервера. 10 запросов по 32 байта. реализована через ICMP.
вопрос в следующем... в списке 8 серверов. если запускаю сразу 8 потоков получается что время пинга немного отличается, если про пинговать все сервера по очереди) может быть из-за загруженности канала? или это косяк в реализации потоков? и каким образом будет правильнее организовать пинг списка серверов? |
04.07.2013, 14:59 | #2 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
А к такому выводу привели серьезные исследования? Нет, я не придираюсь. Правда интересно. Просто ради интереса запустил сейчас тест и в какой-то момент мне тоже так показалось. Но погоняв его подольше что-то разницы не заметил. Особенно в части среднего времени
|
04.07.2013, 16:03 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Показывайте, как потоки получают список/сервер для пинга.
А вообще не должно влиять на сеть это. Пакеты маленькие. |
08.07.2013, 13:27 | #4 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
2 Баламут, никаких серьезных исследований раз 5 прогнал с потоками, раз 5 по очереди... в итоге пришел к выводу, что если пинговать сервера по очереди, то среднее время получается меньше. вполне возможно показалось... теперь я уже не так уверен.
что касается кода... сильно не ругаться, я только учусь ну собственно получается так) глобально объявлена переменная типа Tstringlist в нее из текстовика подгружается список серверов. при создании потока передается номер сервера... Код:
Код:
Код:
Код:
Последний раз редактировалось unbanned; 08.07.2013 в 17:33. |
08.07.2013, 13:27 | #5 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
нечаянно продублировал сообщение
Последний раз редактировалось unbanned; 08.07.2013 в 15:41. Причина: дубль. можно удалить |
08.07.2013, 20:47 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Мат. часть читать, мигом!
НИКОГДА, вообще НИКОГДА из потока не сунуться в форму если метод не синхронизируется. Отсюда и все ваши тормоза. |
08.07.2013, 22:23 | #7 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
дык читал вроде. Насколько я понял синхронизировать надо если что-то изменяется на форме? Например вывод значений пинга в memo. У меня это процедура addping. Синхронизирована check, это просто функция описанная в форме. Грубо говоря она не обращается и не изменяет ни каких компонентов на форме. В этом случае тоже нужна синхронизация?
Последний раз редактировалось unbanned; 08.07.2013 в 22:34. |
08.07.2013, 22:46 | #8 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
|
|
09.07.2013, 14:06 | #9 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 530
|
спасибо исправлю. наверное, правильнее будет описать эту процедуру в потоке
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ping | Шамиль8284 | Софт | 1 | 27.05.2013 13:28 |
Не работает ping | Lotles | C/C++ Сетевое программирование | 1 | 01.06.2012 20:19 |
ping на c++ | маришка001 | Помощь студентам | 3 | 30.10.2011 11:51 |
ping | TaTT DoGG | Общие вопросы .NET | 2 | 06.10.2008 12:48 |
Ping | Баламут | Работа с сетью в Delphi | 5 | 23.08.2007 15:17 |