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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2015, 01:10   #11
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

ну раз у вас все тип топ, то и вопросов нет, все прекрасно, слип есть потоки рулят таймауты присутствуют, не вижу проблем
lomastr_ вне форума Ответить с цитированием
Старый 31.03.2015, 06:41   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
клосед грэсфули
Вот это как раз не ошибка. Это исключение говорит что твоя программа и сервер разорвали соединение завершив свои дела.
Повторю вопрос: Ты уверен что сайт, к которому ты запросы отсылаешь, не распознает тебя как бота и не рубит из-за количества подключений с одного адреса?
Я ведь правильно угадал - ты к одному и тому же сайты все потоки коннектишь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2015, 11:12   #13
tromani
Пользователь
 
Регистрация: 10.12.2010
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты уверен что сайт, к которому ты запросы отсылаешь, не распознает тебя как бота и не рубит из-за количества подключений с одного адреса?
да с этим все нормально, вопрос был в том как понять что система начинает захлебываться от чрезмерного количества потоков ну собственно до того как начала захлебываться. вот как понять что 20 потоков еще норм а 30 уже перебор... вот в чем вопрос, я ж так понимаю что если у меня при 15 все норм работает, а при 30 кое-где внутри потока выдает коннектион тайм аут (не во всех, изредка), значит ему скорее всего не хватает либо возможности сети либо процессорного времени либо еще чегото там, т.е. как понять оптимальное число до того как начать

Последний раз редактировалось tromani; 31.03.2015 в 11:16.
tromani вне форума Ответить с цитированием
Старый 31.03.2015, 11:52   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я не знаю как работают программы, в которых многопоток с инетом, но думаю что там расчитывается скорость сети в пересчете на одну закачку. Потом суммируется и предоставляется на суд пользователя - сколько ограничивать.
Например у тебя 1 мегабит. Ты говоришь: Ограничить до 512Кб - значит 512 делится на кол-во потоков допустим их 10 = 51Кб. Вот это лимит, который поток в цикле отправляет в сеть. Потом в самом потоке отправки может быть sleep(10), чтоб ограничение по отправке действительно сработало.
То что тебе выше говорили, мол слипы не нужны - чушь. Нужны, просто INDI в таком случае стоит выкинуть в пользу WinAPI. Или сокетов Беркли.

Но я бы на твоем месте не делал сразу старт всех потоков. Лучше стартовать их по определенному количеству. Как только кол-во потоков уменьшается - освобождается место для нового потока - как DownloadMaster делает. Это гораздо выгоднее, да и пересчитывать лимиты для потоков не придется.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2015, 15:12   #15
tromani
Пользователь
 
Регистрация: 10.12.2010
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
То что тебе выше говорили, мол слипы не нужны - чушь.
абсолютно согласен, так я то собственно не стартую их сразу, вы ж видите там в цикле стартуется сразу количество ограниченное updown.position, а (в моем случае там 15 например) а по завершении стартуется следующий и т.д. т.е. одновременно всегда запущенно не более значения заданного updown.position

просто думал ну может ктото реально не раз уже по этой теме работал что-то мудрое посоветует типа вот функция возвращает %забитости канала))) ну я утрирую ну както так
tromani вне форума Ответить с цитированием
Старый 31.03.2015, 15:22   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО нет такой функции. Я думаю что все считается относительно переданных байт за определенное время через сетевую. Эту цифру думаю можно получить, но все равно процент нагрузки придется высчитывать "ручками". Да и врядли он будет достоверным для определения нагрузки до конечного узла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2015, 15:35   #17
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
абсолютно согласен
вставляйте везде, только опубликуйте список прог, чтоб нечаянно не наткнуться
lomastr_ вне форума Ответить с цитированием
Старый 31.03.2015, 15:46   #18
tromani
Пользователь
 
Регистрация: 10.12.2010
Сообщений: 23
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
вставляйте везде, только опубликуйте список прог, чтоб нечаянно не наткнуться
дружище, давайте вы хоть попробуете чтоли, если вы сможете запустить одновременно 50 потоков без единого слипа или любой задержки в каждом из которых будет Get ну пусть на любой самый простой сайт и все пройдет ок без единой ошибки сети я только апплодировать буду, признаю что вы лучший
tromani вне форума Ответить с цитированием
Старый 31.03.2015, 16:07   #19
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

запускаем и 500 и больше, и чо? только у нас не только слипов нет но и циклов таких
lomastr_ вне форума Ответить с цитированием
Старый 31.03.2015, 16:14   #20
tromani
Пользователь
 
Регистрация: 10.12.2010
Сообщений: 23
По умолчанию

ну так просветите, как?
я ж сюда обратился абы подсказали что делать и как лучше делать
кусочек кода то можно увидеть как без цикла и слипа запустить 500 потоков
tromani вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность Indy niva622 Общие вопросы Delphi 11 25.05.2013 19:22
[Indy]Отловить ошибки возникающие при работе с проксями bakanaev Общие вопросы Delphi 8 05.12.2012 20:48
INDY. Ошибки Кодировщика и Декодировщика Vol666 Работа с сетью в Delphi 9 04.09.2009 08:15
Многопоточность Indy AVer Работа с сетью в Delphi 14 14.02.2009 22:10
Многопоточность с INDY Ragnarek Работа с сетью в Delphi 2 27.01.2009 13:25