Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка Socket error 10053


Дмитрий ©   (2012-03-20 06:59:00) 

Добрый день. Использую компонент IndyHttpProxyServer.
Когда через прокси проходят одновременно много данных вылезает ошибка.
socket error 10053 software caused connection abort
Подскажите как убрать данную проблему?


Дмитрий   (2012-03-23 19:49:00) [1]

Все нашел. Событие OnBeforeCommandHandler

if(Pos('google.com',AData)=0) then
 Abort;


Дмитрий   (2012-03-23 19:02:00) [2]

Ясно. Жаль точного ответа так и не получил. Подскажите тогда как обрубать другие коннекты в IdHttpProxyServer кроме нужного адреса. К примеру мне надо чтобы через прокси проходили запросы только на google.ru, а остальные обрубались. Так понимаю делается это в событии OnConnect. Нашел что можно отключить ненужных клиентов вот так там, но не могу найти где отловить адреса на стадии подключения.
if (Trim(AContext.Binding.PeerIP)<>'127.0.0.1') then abort;


Anatoly Podgoretsky   (2012-03-22 07:43:00) [3]

> Дмитрий  (21.03.2012 23:55:16)  [16]

Писанина, но она дает понимание работы с синхронными сокетами. У авторов
была другая цель, чем учить неучей.


Дмитрий   (2012-03-21 23:55:00) [4]

В этой книге одна писанина. Ничего толкового в ней нету. Нашел что вы советовали. Там тоже самое что вы написали ) Ни капли примера даже.


sniknik   (2012-03-21 22:43:00) [5]

http://www.podgoretsky.com/
Indy in Depth Глубины Indy
название там - "Планировщик волокон"


Дмитрий   (2012-03-21 22:36:00) [6]

В свойстве Scheduler пусто. Гугл ответа о том что там можно это сделать никакого не дал :(


sniknik   (2012-03-21 19:33:00) [7]

его и не нужно, он "сам" должен, обработчик... третий рар повторяю, больше не буду, смотри шедулер... свойство или еще чего там, не хочу лезть за тебя искать. в http сервере, знаю есть, значит и в прокси должен... (работают то "парно").


Дмитрий   (2012-03-21 17:25:00) [8]

Запись в файл поточно сделал. Не очень представляю как IdHttpProxyServer через потоки пустить.


sniknik   (2012-03-21 08:01:00) [9]

> Но 100% выпадение происходит когда в гугл вбиваю что-то в поиск
тут задержки мизерные... нет больших файлов. просто там аякс, запрос изнутри страницы который вызывает (смотря как настроено) перегрузку компонент страницы... т.е. страничка гугла сама параллельно несколько запросов посылает/обрабатывает.
что в общемто означает, если хочешь чтобы гугл (и аналогично сделанные) работал через твой прокси, параллельной записи в файл мало, нужно процесс "проксирования" много поточным делать. еще раз, посмотри про шедулер...


Дмитрий   (2012-03-20 23:53:00) [10]

Подскажите как запись и обработку данных переместить в другой поток.


Дмитрий   (2012-03-20 23:52:00) [11]

http://img831.imageshack.us/img831/3388/27378328.jpg
Вот скрин ошибки.
Антивируса никакого нету на компе. Причем выпадение может быть а может и не быть. Но 100% выпадение происходит когда в гугл вбиваю что-то в поиск).
Так что походу все таки как то надо запись и обработку полученных данных от сервера помещать в поток чтобы не затормаживать работу прокси.


sniknik   (2012-03-20 13:57:00) [12]

> Не работал никогда с потоками )
с инди даже не особо и нужно (хотя очень желательно все же уметь)... там можно подключить "шедулер". обычно. но, не работал никогда с IndyHttpProxyServer.

> А антивирус случайно не Нортон?
с ним конечно чудеса и не такие бывают(больше только у касперского)... но, тут прокси его личный "велосипед", и поменять на другой он отказался ([2]). и если сравнивать "велосипед" с нортоном...


Anatoly Podgoretsky   (2012-03-20 10:37:00) [13]

И неужели это все, что пишет "socket error 10053 software caused connection abort"


Anatoly Podgoretsky   (2012-03-20 10:35:00) [14]

> Дмитрий  (20.03.2012 09:54:03)  [3]

А антивирус случайно не Нортон?


Дмитрий   (2012-03-20 10:14:00) [15]

Можно пожалуйста поподробнее? Не работал никогда с потоками ) Особенно с записью в файл.


sniknik   (2012-03-20 09:57:00) [16]

сделать много поточным. /писать в файл в дополнительном


Дмитрий   (2012-03-20 09:54:00) [17]

Подозреваю что эта ошибка вызывается из-за того что во время получения данных от сервера они обрабатываются в реальном времени и часть информации пришедшая с сервера записывается в файл. Наверно из-за чего первый запрос не успевает обработаться а в нее уже стучит второй и происходит обрыв связи.

Подскажите как быть?


Дмитрий   (2012-03-20 09:50:00) [18]

Не это не дело) Как поменять прокси? :) Вы мне что предлагаете переделать всю программу на другой компонент что ли? :)


sniknik   (2012-03-20 07:56:00) [19]

> как убрать данную проблему?
поменяй прокси


Наверх

Титульная страница Поиск, карта сайта Написать письмо