| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Связать IdHTTP и IdHTTPServer |
| Автор: serg16 23.8.2008, 18:37 | ||
| Хочу написать прогу, типа прокси. Нужно принимать запросы из браузера, отправлять на сервер и предавать результаты обратно в браузер. Выходить в инет нужно с определенного IP. В IdHTTPProxyServer не нашел boundIP. Поэтому решил попробовать использовать IdHTTP и IdHTTPServer. Написал вот такое:
Первый запрос успешно проходит и страничка попадает в браузер. Но дальше идет попытка загрузки стилей, картинок и прога вылетает с ошибкой "Socket Error # 10038 Socket operation on non-socket". Никогда подобных прог не писал и видимо делаю что-то не так. Подскажите, в чем мои ошибки? |
| Автор: SneG0K 25.8.2008, 12:52 |
| Лучше пиши на сокетах или TCPServer/Client |
| Автор: Snowy 25.8.2008, 13:42 |
| Проблема в том, что ты используешь один TIdHTTP в мультитредовом приложении. Браузер грузит страницу - нормально грузится. Потом он ищет там стили, картинки и т.д. и запрашивает их у сервера ОДНОВРЕМЕННО. Не все одновременно, но по 4-10 параллельных запросов посылает. А теперь, как ты думаешь, что будет, когда ты будешь мучать TIdHTTP, давая ему одновременно 4 или более разных запросов? Ясен пень, что ни одного не выполнит и вылетит с критом. Создавай TIdHTTP локально. Не используй глобальные переменные и объекты. |
| Автор: serg16 25.8.2008, 18:51 |
| Ага! Теперь понятно, почему при втором Get перескакивает на начало. Спасибо! Поставил последнюю версию indy, изучаю исходник прокси (что-то сразу не сообразил где взять пример |
| Автор: p486 1.7.2009, 09:44 |
| вылжи пожалуйста то, что у тебя получилось. тоже бюсь над этой проблемой пока безрезультатно |