Черновик HTML5 содержит API с именем EventSource для потоковой передачи данных (уведомлений) через JavaScript с использованием только одного вызова сервера.
Обнаружив это, я нашел пример в Opera Labs части javascript:
document.getElementsByTagName("event-source")[0]
.addEventListener("server-time", eventHandler, false);
function eventHandler(event)
{
// Alert time sent by the server
alert(event.data);
}
и серверная часть:
<?php
header("Content-Type: application/x-dom-event-stream");
while(true) {
echo "Event: server-time\n";
$time = time();
echo "data: $time\n";
echo "\n";
flush();
sleep(3);
}
?>
Но на сегодняшний день, похоже, только Opera реализовала API, ни у Chrome, ни у Safari нет рабочей версии (я здесь не прав?)
Итак, мой вопрос, есть ли другой способ в javascript, может быть, более сложный, для использования этого одного потока для получения данных?
РЕДАКТИРОВАТЬ: я сейчас смотрю на кометы, но я не уверен, как использовать это снова :)
РЕДАКТИРОВАТЬ 2: Очевидно, "x-dom-event-stream" теперь переименован в "text / event-stream"
РЕДАКТИРОВАТЬ 3: Получил больше понять с этой недавняя статья от javanet