HTTP поток данных - PullRequest
       9

HTTP поток данных

1 голос
/ 10 мая 2011

У меня есть бэкэнд, который должен быть реализован на Python, который должен передавать данные в веб-браузер, где JavaScript создает представление (например, постоянно обновляет переменную или рисует до <canvas>).

Эти данные будут обновляться с частотой до 100 Гц (а в худшем случае даже с частотой 1000 Гц ...), возможно, с 10-20 байтами каждый.

Так что моя первая мысль об использованииЯ полагаю, что шаблон COMET будет производить слишком много накладных расходов.

Следующим моим предположением были WebSockets.Они бы идеально подходили - но отключение в Firefox делает их непригодными для меня.

Так что вы рекомендуете использовать в этом случае?

(Требование: запуск в нескольких современных браузерахна чистом JavaScript, Flash или Java не допускаются. Бэкэнд в Python. Уже используется lib - jQuery. Реализация должна быть простой, желательно с использованием облегченных библиотек)

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Решение, которое я выбрал сейчас, заключается в использовании шаблона COMET и транспортировке всех данных, находящихся в очереди в бэкэнде с момента последнего запроса.Поэтому я не опрашиваю во время медленной генерации данных (-> COMET), и у меня будет только то количество соединений, которое может обработать интерфейс (т. Е. Браузер) при их создании.накладные расходы уменьшаются, так как каждый запрос содержит несколько точек данных.(Можно даже сказать, что служебные данные динамически масштабируются в зависимости от скорости передачи данных. По мере того, как скорость передачи данных возрастает, накладные расходы уменьшаются ...)

0 голосов
/ 05 марта 2014

В качестве обновления к этому вопросу в настоящее время вы сможете использовать отправленные сервером события.Я не использовал XHR из-за того, что он сохранял весь отклик в памяти, и не использовал веб-сокеты, так как мне не требовались дуплексные соединения.У меня был почти такой же вопрос, и я ответил на него здесь:

Как обрабатывать потоковые данные HTTP GET?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...