Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Ошибка Socket error 10053   Найти похожие ветки 

 
Дмитрий   (2012-03-20 06:59) [0]

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


 
sniknik ©   (2012-03-20 07:56) [1]

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


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

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


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

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

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


 
sniknik ©   (2012-03-20 09:57) [4]

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


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

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


 
Anatoly Podgoretsky ©   (2012-03-20 10:35) [6]

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

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


 
Anatoly Podgoretsky ©   (2012-03-20 10:37) [7]

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


 
sniknik ©   (2012-03-20 13:57) [8]

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

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


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

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


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

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


 
sniknik ©   (2012-03-21 08:01) [11]

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


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

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


 
sniknik ©   (2012-03-21 19:33) [13]

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


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

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


 
sniknik ©   (2012-03-21 22:43) [15]

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


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

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


 
Anatoly Podgoretsky ©   (2012-03-22 07:43) [17]

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

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


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

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


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

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

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




Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.063 c
15-1330664086
CleriC
2012-03-02 08:54
2013.03.22
HotKey в среде Delphi (не могу назначить)


3-1286090959
shadowrun
2010-10-03 11:29
2013.03.22
Ламер и dbexpmys.dll


15-1328560202
Юрий
2012-02-07 00:30
2013.03.22
С днем рождения ! 7 февраля 2012 вторник


4-1260893670
QAZ
2009-12-15 19:14
2013.03.22
Hook&amp;Uac


3-1277112330
alexnauz
2010-06-21 13:25
2013.03.22
Как заставить IBQuery или OraQuery вернуть пустой результат