To Sirik:
Привет
.
> вопрос вот в чём: последний пункт (3), бразер посылает
> запросы один за другим или сразу?
Зависит от браузера.
Опера и ИЕ каждый по своему ...
что самое обидное 8(.
> в принципе сразу все запросы послать он не может так,
> как подключение на любой порт существует единожды
> (в один момент времени). или я ошибаюсь?
И да и нет
. Один сокет - один коннект. Но сервер
сделан по другому. Т.е. слушающий сокет "принимет" соединение,
( ! не устанавливая его ! )
и передаёт на обработку - другому сокету. В итоге один Вєб-сервер
может обрабатываеть много клиентов \ или их запросов (!) сразу. Прокси должен
действовать точно так же - обслуживать много запросов сразу.
И ИЕ, _падло_, тоже может их сразу посылать *(((.
Причём раз на раз не пришодиться ...
Самое трудное в написании прокси - с чем сейчас мучаюсь - это
буфферизация. (Всё западло в том, что моя проксятина работает
с оперой а с ИЕ даёт покоцанаю картинку 8((( ).
Я так понял (опытным путём
, что запросы с браузера и ответы с сервера,
проксятина должна загружать в два стэка - т.е. один для
ответов одного и запросов второго. И должна производить
дебуфферизацию по-возможности - или по событиям сокета,
или по таймеру (?).
Приколы с синхронизацией (!):
1. пошёл запрос на сервер от ИЕ.
2. пошёл второй (картинка)
3. пришёл ответ с сервера (1)
4. а Ослик видете, ли хотит послать запрос (3). Картинка 2.
- вот и живи с такими проблемами
)).
Проблемы с буфером.
Из чего делать? String \ Byte?
Я не решил до конца?
Какую делать структуру стэков? - а ля массив Байт или строк?
--
Хех - щас приложу свой код чуть попозжее
.
--
Удачи!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...