Есть много способов иметь постоянные нисходящие соединения. Например, вы можете использовать скрытый iframe; или сложная модель XHR, которая использует onreadystate
для передачи частичной информации через ваше приложение при поддержании соединения. Тем не менее, я не смог найти способ сделать постоянный апстрим в том же духе.
Если вы используете Connection: Keep-Alive
в своих восходящих вызовах, то вы фактически не разрываете соединение и не перестраиваете каждый раз; это хорошо. Вы могли бы даже тогда закодировать свои восходящие нажатия в GET
запросе, который возвратил бы пустой документ
Однако, несмотря на то, что он близок, у вас все еще не хватает производительности, низкой задержки и пропускной способности, которые вы можете получить с помощью постоянных соединений с длинным опросом в нисходящем направлении.
Если нет другого способа сделать это.
Вот несколько теорий о том, как будет выглядеть решение такого типа;
- Возможно, возможность отправить поток
mixed/multipart
на сервер с граничными условиями.
- Возможно, возможность выполнять частичную передачу, причем каждый последующий чанк является новыми данными.
Стоит отметить, что, хотя это может быть возможно с HTML5 или Flash, было бы чрезвычайно полезно, если бы его можно было осуществить без плагинов в экосистеме браузеров, которые являются сегодня выдающимися. Одно из моих стремлений - эксперимент, позволяющий гибко реализовать сопрограммы Кнута между клиентом и сервером.
У кого-нибудь есть понимание этого? Спасибо.
~ Крис.