По потоковому комету HTTP я имею в виду варианты "forever iframe" / "forever xhr", которые не закрывают соединение после того, как данные были вытолкнуты с сервера, в отличие от стандартного опроса и длительного опроса, которые закрывают и повторно отправляют новый запрос для каждого события push на сервере.
Я посмотрел пакет dojo.io.cometd, и, похоже, у них есть только варианты опроса. Я также нашел этот пример, но он, похоже, не работает в webkit даже после справедливого кусочка (я получил его для работы везде). Это объявление из блога сафари, кажется, предполагает, что это возможно с помощью xhr, но я не мог найти никакого кода или документации, и я не мог его получить работать.
Кто-нибудь знает технику, script, библиотеку или демоверсию, которая выполняет потоковое комет HTTP в браузерах Webkit (Safari и Chrome)?
Обновление
После немного более возиться, я обнаружил, что есть две вещи, которые нужно сделать, чтобы получить HTTP-поток, работающий в Safari через XHR:
- Ответ должен иметь тип Content-Type: multipart/x-mixed-replace
- Ответ должен отправить несколько символов "шума", прежде чем браузер начнет последовательно отображать обновления. Я предполагаю, что это имеет какое-то отношение к заполнению некоторого внутреннего буфера.
Обновление 2
Наконец, я получил его для работы во всех браузерах, используя технику iframe. Предостережение к решению состоит в том, что только браузеры на основе WebKit должны получать заголовок multipart/x-mixed-replace.