Следующий код 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