Как остановить буферизацию сообщений Comet в буфере браузера - PullRequest
4 голосов
/ 05 февраля 2010

Я пытаюсь отправить пакеты данных с моего HTTP-сервера в браузер, используя Comet «навсегда iframe» и передавая ему теги сценариев с сервера, используя заголовок Transfer-Encoding: chunked. Я обнаружил, что мои теги сценариев не интерпретируются сразу, и мне нужно отправить несколько кусков, прежде чем браузер начнет отвечать на них. В случае IE8, похоже, требуется что-то вроде 256-байтовых данных (я не проверял точно), а в Firefox 3.5.7, похоже, что-то более килобайта. Мне еще не удалось заставить Chrome отвечать на теги сценария до закрытия соединения. Однако во всех случаях, если я заканчиваю данные чанков (чанком «0»), любые буферизованные чанки интерпретируются. Я нашел ссылку на такое поведение в Safari, но не нашел такой информации для других браузеров.

Что я хотел бы знать, так это как можно надежно выполнять эти теги сценариев по мере их отправки, без какого-либо механизма буферизации, задерживающего их выполнение?

1 Ответ

1 голос
/ 07 декабря 2010

Нужно ли использовать вечно iframe? Если вы используете веб-сокеты и используете флэш-сокеты xml, вы можете поддерживать все используемые в настоящее время браузеры (за исключением, возможно, на функциональных телефонах) и получить настоящий сокет API.

...