Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Http close session


Автор: Curle 15.1.2006, 16:51
я юзаю TcpClient, NetworkStream для получение http страницы, вопрос такой как узнать что вся страница скачена?

Автор: stab 16.1.2006, 21:29
Тут варианта два:

1. Парсить заголовки HTTP на наличие content-length и использовать это значение (HTTP 1.1), либо ждать дисконнекта (HTTP 1.0). Плюс еще надо учитывать transfer-encoding и connection. Кароче, задачка не очень тривиальная.

2. Ипользовать WebClient, который это все может делать сам.

Автор: Curle 17.1.2006, 06:23
transfer-encoding и connection я уже сделал. вопрос тока как узнать когда дисконект провадить?

Автор: stab 17.1.2006, 13:12
* HTTP 1.0

Если отсутствует connection: Keep-Alive, то сервер сам оборвет соеденение, если есть, то на твое усмотрение когда его рвать, при этом надо учитывать content-length, transfer-encoding. Если отсутсвует и content-length и transfer-encoding, то надо ждать пока сервер сам закроет соеденение.

* HTTP 1.1

Если присутствует connection: Close, то сервер сам оборвет соеденение, если отсутствует, то на твое усмотрение когда его рвать, при этом надо учитывать content-length, transfer-encoding.


Если после выполнения запроса соеденение осталось логически открытым (HTTP 1.0 - есть connection: Keep-Alive, HTTP 1.1 - отсутствует connection: Close) и сервер не оборвал соеденение, то по этому же соеденению можно слать еще один запрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)