Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Работа с сетью > Сервер не отвечает повторно, если не создать сокет |
Автор: i_SweP 25.10.2010, 21:31 | ||
В общем, следующий код рабочий. Но почему он не будет работать, если не пересоздавать сокет: в таком случае в InputStream ничего не приходит (свойство eof == true). Получается, что сервер не отвечает на второй, третий и следующие запросы с одного сокета? ![]()
|
Автор: AntonSaburov 26.10.2010, 12:49 |
Так может сервер имеет хидер закрываться после того, как отдаст все данные. Посмотри Keep-alive. |
Автор: i_SweP 26.10.2010, 20:05 |
Я не знаю как посмотреть header. Мне нужно лишь стянуть страницу, поэтому ещё сильно не разбирался. На мой запрос он выдаёт само содержимое страницы. А как параметр Connection в ответе посмотреть (да и другие тоже), скажите plz ? |
Автор: Skipy 27.10.2010, 12:32 | ||
Кроме содержимого страницы у Вас должны быть еще и заголовки, ибо Вы вручную читаете ответ. Покажите всё, что приходит до пустой строки (после нее идет содержимое страницы). |
Автор: COVD 27.10.2010, 15:49 |
http://download.oracle.com/javase/tutorial/networking/urls/readingWriting.html |
Автор: i_SweP 27.10.2010, 19:36 |
Skipy Я подумал, может сайт такой, но с твоего тоже самое, т.е. для POST http://www.skipy.ru/ Host: www.skipy.ru С самой первой строки: <?xml version="1.0" encoding="UTF-8"?> и т.д.... COVD, Спасибо за ссылку, тоже думал, что-то такое должно быть |
Автор: Skipy 28.10.2010, 10:02 | ||||||||
Скажите, в Вы так, случайно, не пробовали посылать запрос, соответствующий протоколу HTTP? http://www.ietf.org/rfc/rfc2616.txt Section 5.1 Request-Line = Method SP Request-URI SP HTTP-Version CRLF
И ответ:
Добавлено через 10 минут и 47 секунд
Задача сервера - обслуживать запросы. Много. А для этого надо максимально быстро освобождать ресурсы. Потому - сервер не может себе позволить такой роскоши как держать открытым сокет, в надежде, что Вы у него еще что-то спросите. Он это может делать только если его специально попросить указанием заголовка Connection: Keep-Alive. Причем именно "может", а не "обязан". |