Производительность , поскольку Flash предоставляет разработчику Сокеты .Используя сокеты, вы можете открыть соединение и держать его открытым, пока клиент не покинет приложение.Когда на сервере появляется новая информация, она записывает данные в канал связи, и клиенты автоматически ее читают.Никаких подтягиваний, никаких издержек соединения, никаких дополнительных данных не требуется (например, заголовок протокола HTTP).
Сеть задержка и пропускная способность ограничит объем данных, которые выСервер может отправить.Это также ограничит объем данных, которые может прочитать ваш клиент.Что касается сервера, то количество ресурсов (обычно оперативной памяти) ограничивает количество активных соединений (одновременно открытых), которые вам разрешено сохранять.
Когда HTTP используется для приложения чата (или другого приложения с длительным опросом),связь не имеет состояния, что означает, что приложение должно открывать новое соединение с сервером каждый раз, когда ему приходится обмениваться данными.Вы можете использовать постоянное соединение (Keep-Alive), чтобы повторно использовать существующее соединение, но в зависимости от времени ожидания это ухудшит производительность сервера:
Высокийзначение тайм-аута : больше данных передается по одному соединению, но слишком долго связывает несколько процессов или потоков сервера.Сервер будет поддерживать меньшее количество пользователей одновременно.
Низкое значение тайм-аута : серверные процессы быстро освобождаются для обслуживания другого запроса, поскольку они сбрасывают соединение раньше, однако, если тайм-аутслишком низкое значение, вы в конечном итоге не будете повторно использовать соединение, что приводит к новому соединению каждый раз, когда вы должны обмениваться данными.Очень плохо.
Кроме того, протокол HTTP не был разработан для связи в реальном времени.Это требует текстовых заголовков, которые будут тратить драгоценное количество байтов при общении.Я написал статью , сравнивающую различные протоколы связи для Smartfox Server, и заметил, что в текстовых протоколах (XML, JSON) заголовок (и дополнения) представляет 50-75% сообщенияразмер в моем случае;хотя сообщение «чистые» данные было очень маленьким (28 байт), оно дает представление о заголовке.
Если вы держите канал открытым в течение всего времени связи и обмениваетесь данными в двоичной форме, вы избегаетенакладные расходы на соединение и могут настраивать сообщения для достижения высокой пропускной способности.
УВЕДОМЛЕНИЕ : сегодня вы можете использовать WebSockets для достижения результатов, которые были возможны только при использовании Flash-связи в прошлом, Socket.io , например, обеспечивает подключение в реальном времени к каждому браузеру с использованием JavaScript;под капотом он использует WebSockets (при наличии), или Flash, или AJAX, или другую технику, поддерживаемую браузером, для установления связи.