Я пытаюсь сделать веб-чат для интеграции с другими языками.
Я готов создать свой собственный веб-сервер в Java ..., который знает только для ответа на конкретный запрос.
У меня есть сокет, который прослушивает порт 80. отвечая на
out.print("HTTP/1.1 200 OK\r\n");
out.print("Content-Type: text/plain\r\n\r\n");
out.println("We have a text now");
out.print("\r\n");
out.print("\r\n");
out.print("0");
out.print("\r\n");
out.print("\r\n");
Моя проблема ... есть ли способ использовать частичный ответ, чтобы оставить сокет браузера открытым?
Я хочу отправлять сообщения только тогда, когда они существуют .. в этом случае сообщения будут отправляться практически мгновенно ..
P.S .: Я не говорю о веб-сокетах, потому что не все программы поддерживают веб-сокеты ... только браузеры ... (программы, которые не поддерживают веб-сокеты: Internet Explorer)
У меня вопрос: могу ли я использовать частичный ответ (206) в этом случае ... и как сохранить загрузку страницы, а также отправить частичный текст ... ?? ... Должен ли я сказать, что длина содержимого или что-то? какой заголовок мне нужно написать ... Я знаю только для нескольких статусов (200, 301, 404 и т. д.). Для 206 я не знаю, что написать в первой, второй, третьей строке ... как отправить ответ (в формате xml, текст или я могу определить тип содержимого?) И как прочитать его из JavaScript?
Например, я хочу, чтобы этот код записывал каждую секунду что-то:
out.print("HTTP/1.1 200 OK\r\n");
out.print("Content-Type: text/plain\r\n\r\n");
for (int i = 0; i < 10; i++)
{
out.println("We have a text now");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
out.print("\r\n");
out.print("\r\n");
out.print("0");
out.print("\r\n");
out.print("\r\n");
Привет