|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.03.2014, 12:52 | #1 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
Socket Already in Use (error 10048)
Всем Привет!
Извиняюсь, может не в тот раздел но, я так думаю, проблема с компонентом так что тема в этом разделе... С помощью IdHTTP (Delphi 7 с родной Indy) шлю POST-запросы (обновление записи) на веб-сервер IdHTTP.Port=80 (без указания порта тоже пробовал одинаково). Все вроде бы работает нормально, запрос/ответ, запрос/ответ. Попробовал потестировать надежность, зарядил в цикл подряд 100 запросов - отлично отработало. Зарядил 1 000 вылетаю примерно на 880-й итерации (Socket Error 10048 Socket Already in Use) Ставил sleep - результат тот же возможно код неграмотный Код:
Можно ли отправить одним POST запросом "все" переменные (2.000*30=60.000) чтоб не использовать цикл? Подскажите где что поправить и привести код в "правельный"
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
Последний раз редактировалось spirit-ua; 05.03.2014 в 13:48. |
05.03.2014, 17:40 | #2 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
а что никто не подскажет?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
|
05.03.2014, 18:06 | #3 |
Форумчанин
Регистрация: 03.07.2009
Сообщений: 246
|
Отправляй частями.
|
05.03.2014, 18:11 | #4 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
это как? делать "передышку" (sleep) между блоком итераций или паковать в более "жирные" пакеты по N записей в оном запросе?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
|
05.03.2014, 20:39 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я не пойму зачем в цикле создавать каждый раз объект TidHTTP...
Смысл? Вынеси его за пределы цикла
I'm learning to live...
|
06.03.2014, 10:03 | #6 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
Само собой, уже вынес, но ошибка осталась... как победить?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
|
06.03.2014, 10:17 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
использовать GET метод вместо POST, или иной механизм ожидания(TEvent из SyncObjs к примеру) получения ответа.
POST метод - асинхронный, потому HTTP не ждет данных и цикл бежит дальше, вследствии чего нарывается на ошибку. |
06.03.2014, 10:25 | #8 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
А GET позволит передать строку (переменную) свыше 255 символов и вообще есть ли ограничения на значение длины переменной, строки и кол-во переменных?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
|
06.03.2014, 10:39 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
как давно пост асинхронным стал?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
06.03.2014, 10:41 | #10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
POST - запрос без ожиданияответа нет? Вроде так всегда было... |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
socket error 10053 | DELPHI161 | Работа с сетью в Delphi | 4 | 07.06.2013 18:03 |
socket error 10053 | DELPHI161 | Работа с сетью в Delphi | 0 | 05.06.2013 10:15 |
Socket Error 10060 | romeo32russ | Работа с сетью в Delphi | 1 | 24.10.2011 11:36 |
Socket Error 10054 | RIO | Работа с сетью в Delphi | 5 | 22.09.2009 16:24 |