У меня есть DataInputStream
, созданный из Socket
в Java. Подключение к простому веб-серверу, который использует кодирование передачи по частям. Веб-сервер фактически работает в обычном браузере. Но в моей программе я пытаюсь читать, я читаю первые первые байты (около 5 КБ данных). Но каждое чтение после этого возвращает 0 байтов чтения. Разве он не должен блокироваться, пока не сможет прочитать?
Примечание: обычно этого не происходит. Проблема с сервером, к которому я подключаюсь.
Кроме того, этот код здесь все возвращает false даже после байтового чтения == 0.:
.
System.out.println(socket.isClosed());
System.out.println(socket.isInputShutdown());
System.out.println(socket.isOutputShutdown());
А вот соответствующие заголовки:
HTTP/1.1 200 OK
Date: Tue, 08 Jun 2010 14:01:01 GMT
Server: Apache/2.2.11 (Unix) PHP/5.2.10
X-Powered-By: PHP/5.2.10
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html