Постоянное соединение с клиентом

Существует ли общий способ реализации части приложения с JavaScript и обеспечения постоянного соединения с сервером? Мне нужен сервер, чтобы он мог передавать данные клиенту, независимо от того, клиент находится за брандмауэром. Спасибо заранее

Ответ 1

См. Comet - он похож на ajax, но он поддерживает соединение, поэтому сервер может передавать информацию клиенту.

Обратите внимание, что совместимые браузеры будут удерживать только 2 соединения (обратите внимание: большинство современных браузеров больше не соответствуют) в определенный домен (по умолчанию), поэтому вы можете захотеть разделяйте свои домены (например, www.yourdomain.com и comet.yourdomain.com), чтобы вы не сильно замедляли загрузку своих страниц. Или вы можете просто убедиться, что вы не открываете соединение кометы, пока не загрузится все остальное. Это просто нужно быть осторожным.

Ответ 3

С HTTP, соединение должно начинаться с клиента. Но есть методы, доступные для того, чтобы сервер держал соединение открытым и скрывал данные по мере необходимости.

Обычно они считаются Comet или HTTP Streaming.

Ответ 4

Вы можете использовать Comet методы программирования для этого. В основном страница вызывает вызов на сервер, который не возвращается, пока сервер не сможет что-то отправить (в этот момент клиент немедленно делает тот же вызов). Таким образом, сервер может нажимать контент на клиента почти всегда, когда захочет.

Поддержка зависит от платформы и больше связана с сервером, чем с клиентом.

Ответ 5

Вот несколько вопросов в подобном ключе. И, конечно, все вопросы, помеченные comet