Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TIdHTTPServer (Indy 10): ответ порциями без разрыва соединения [D7, WinXP]


Забияка ©   (2006-05-30 16:14:00) 

Используется TIdHTTPServer, в событии OnCommandGet идет обработка запроса клиента, после окончания пишет его в AResponseInfo.ContentText. Нужно организовать отправку ответа частями не прерывая соединение.


Забияка   (2006-05-30 18:38:00) [1]

Спасибо.


umbra   (2006-05-30 18:14:00) [2]

OnCommandGetвсегда вызывается в контексте текущей сессии. Для каждой сессии создается отдельный поток, в котором и вызывается обработчик.


Забияка   (2006-05-30 18:08:00) [3]

Благодарю за ответ. Если взять за основу модель запрос-ответ-запрос-ответ, как в пресловутом OnCommandGet понять что это продолжение начатой сессии?


Забияка   (2006-05-30 17:39:00) [4]

Когда то давно, я видел, что такое делали, но на потоке, жаль ссылки не осталось :(


umbra   (2006-05-30 17:37:00) [5]


> Именно это и имею ввиду

это невозможно. HTTP работает по схеме запрос-ответ. Нет запроса - нет ответа.


Забияка   (2006-05-30 17:17:00) [6]

Именно это и имею ввиду


umbra   (2006-05-30 16:54:00) [7]


> Как досылать данные?
>

клиент должен послать еще один запрос. или вы имеете в виду, что надо частями отвечать на один запрос?


Забияка   (2006-05-30 16:42:00) [8]

Как досылать данные?


umbra   (2006-05-30 16:33:00) [9]

по умолчанию TIdHTTPServerне прерывает соединения после ответа на запрос (TIdHTTPServer.KeepAlive = True). Т.е. на сервере вроде бы ничего делать не надо. надо чтобы соединение не прерывал клиент и чтобы клиент объявлял, что работает согласно HTTP 1.1.


Наверх

Титульная страница Поиск, карта сайта Написать письмо