Я очень новичок и сейчас пытаюсь подключить API поддержки потоковой передачи http в java, поэтому я нашел очень простой способ с cURL непрерывно печатать потоковое сообщение в консоли:
public static void main(String[] args) throws UnknownHostException, IOException {
String[] command = { "curl", "--silent", "-u", "username:password",
"https://host.com/" };
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectErrorStream(true);
String line = "";
try {
Process process = builder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
while (true) {
line = br.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
серверу требуется только аутентификация (т. е. имя пользователя: пароль) для установления соединения, и он периодически отправляет сообщение keep-alive, которое \ r \ n предотвращает автоматическое закрытие соединения.
, поэтому, когда есть фактические данные, доступные дляpush to client, будет похоже на
\r\n
{ ... some message ... }
\r\n
\r\n
Я хочу изучить альтернативный способ заставить его работать с другими библиотеками
Дело в том, что я знаю, как сделать традиционный запрос http-ответа, хотя мой вопроскак сохранить соединение долгое время и продолжать читать push-данные с сервера, в идеале также записать в базу данных
, если бы вы могли указать мне несколько ключевых слов о том, как переписать код более эффективным или более разумным способом, чтобыбыло бы очень полезно, спасибо!