Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Ошибка 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.072 c
2-1338803238
rioko
2012-06-04 13:47
2013.03.22
Работа с нетипизированными файлами более 2 гигабайт


15-1333541616
AV
2012-04-04 16:13
2013.03.22
TIdMappedPortTCP. Все ли видно через AThread.NetData?


15-1343939402
Юрий
2012-08-03 00:30
2013.03.22
С днем рождения ! 3 августа 2012 пятница


15-1335422982
Diplom_pishu(((
2012-04-26 10:49
2013.03.22
tnt компонент где скачать


2-1336728008
Jonis_84
2012-05-11 13:20
2013.03.22
послать нажатие клавиши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский