| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > 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) и сервер не оборвал соеденение, то по этому же соеденению можно слать еще один запрос. |