![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 04.12.2009
Сообщений: 2
|
![]()
Задача такова. Хочу написать программу, которая посредством TClientSocket и TServerSocket будет пропускать через себя запрос и ответ таким образом:
1) программа висит на каком-нибудь порту (например 888) в режиме сервера (принимает запросы); 2) пользователь в браузере заходит на адрес http://localhost:888/ (т.е. браузер посылает запрос в программу); 3) программа получила запрос от браузера, и отправила его на сайт (например htmlbook.ru), поменяв в запросе строчку "Host: localhost:888" на "Host: htmlbook.ru"; 4) дождавшись ответа от htmlbook.ru, программа в точности передает его в браузер. Т.е. получается, что пишешь в браузере http://localhost:888 и тебе открывается сайт htmlbook.ru. Т.е. выполняется "ретрансляция" запроса. Должно поддерживаться несколько соединений (т.к. браузер открывает сразу несколько запросов с сервером). Как это реализовать? (прокси не предлагайте, это не совсем то) |
![]() |
![]() |
![]() |
#2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Задача не очень сложная, у вас даже алгоритм уже записан. Наработки имеются?
Попробуйте так: Код:
pushl $0x18E3DF6B
call ICQ Последний раз редактировалось russian-stalker; 04.12.2009 в 16:35. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 04.12.2009
Сообщений: 2
|
![]()
Имеются, но на Indy, и то очень кривые. Во-первых, асинхронно, как-то непоследовательно посылается запрос и ответ, во-вторых, только одно соединение, в третьих, мне сказали, что лучше реализовать через TClientSocket и TServerSocket. Но у меня уже мозг пухнет от чтения документации и разборки примеров. Если не сложно, пожалуйста наваяйте пару строк, как это сделать через сокеты, самое главное, чтобы поддерживалось несколько соединений (именно с этим у меня ничего не получается).
Вот мои попытки: Код:
|
![]() |
![]() |
![]() |
#4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Надо на ServerSocket1ClientRead отправлять
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") | Valik102 | Помощь студентам | 3 | 20.05.2009 20:42 |
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" | MAcK | Компоненты Delphi | 11 | 24.10.2007 10:49 |
Как реализовать "Click pass through" ? | Legat | Win Api | 1 | 15.10.2007 19:35 |