Следующий код Java запускает процесс обновления:
Код: Выделить всё
public void downloadChanges() throws IOException {
try (InputStream is = WebClient.doRawRequest(HttpMethod.GET, machinePath + "/update/", null)) { //IOexception is thrown outside
if (is.available() == 0) {
logInfo("Nothing downloaded");
}
//continue with downloaded stuff
}
}
Я не знаю, какого черта is.available() всегда возвращает 0.
Я узнал, что InputStream.available() не работает
но поскольку изменить Java-код здесь невозможно, я открыл новую тему.
Я попробовал добавить немного отладочного кода для тестирования в Java-коде, это будет выглядеть так:
Код: Выделить всё
if (is.available() == 0) {
byte[] data = is.readNBytes(2048 * 1024);
String content = new String(data, StandardCharsets.UTF_8);
System.out.println(content);
System.out.println("Nothing downloaded.");
return;
}
У кого-нибудь есть идеи, как правильно настроить мой PHP для работы с is.available?
Я не могу изменить Java-код, и мне нужно запустить сервер, каким бы хакерским это ни было.
Мы не можем посетить каждого клиента повсюду мир....
Подробнее здесь: https://stackoverflow.com/questions/787 ... e-behavior