Пытаюсь написать свою прокси. (зачем? потому что — думаю, чтобы решать подобные проблемы и больше никогда на них не попадаться.)
Вобщем не получается получить верно данные из броузера...
вот этим кодом
while ((nbytes = recv(ns, buf, sizeof(buf), 0))!=0)
{
.............
}
читаю из заранее созданного сокета соединения с броузером...
получаю все данные.... за одну итерацию цикла и казалось бы на второй итерации цикла — должен произойти его конец (так как все из сокета прочитанно), но нет.... программа уходит в задумие... и просто пытается из сокета прочитать....
как это отследить? Как проверить, что действительно все от клиента полученно.
P.S. Кстати, если броузер остановить. То коннект все равно не рвется... И программа все равно висит... Лишь по закрытию броузера, программа отрабатывает... Но возвращать данные уже не куда...
Подскажите как быть?
Здравствуйте, Xaep,
Вы писали 5 марта 2004 г., 21:39:05:
X> Вобщем не получается получить верно данные из броузера...
X> вот этим кодом
X> while ((nbytes = recv(ns, buf, sizeof(buf), 0))!=0)
X> {
X> .............
X> }
ну, во-первых, почему такое условие окончания цикла? Ошибки произойти
не может, или они у вас обрабатываются дальше?
X> читаю из заранее созданного сокета соединения с броузером...
X> получаю все данные.... за одну итерацию цикла и казалось бы на
X> второй итерации цикла — должен произойти его конец (так как все из
с чего бы вдруг?
X> сокета прочитанно), но нет.... программа уходит в задумие... и
X> просто пытается из сокета прочитать....
Браузер ведь не закрывает соединение, а ждёт когда вы ему вернёт то,
что он просит. Вы в свою очередь ждёте от него чего-то ещё..
--
С уважением, butcher
Posted via RSDN NNTP Server 1.8 beta