Существует ли общий способ реализации части приложения с JavaScript и обеспечения постоянного соединения с сервером? Мне нужен сервер, чтобы он мог передавать данные клиенту, независимо от того, клиент находится за брандмауэром. Спасибо заранее
Постоянное соединение с клиентом
Ответ 1
См. Comet - он похож на ajax, но он поддерживает соединение, поэтому сервер может передавать информацию клиенту.
Обратите внимание, что совместимые браузеры будут удерживать только 2 соединения (обратите внимание: большинство современных браузеров больше не соответствуют) в определенный домен (по умолчанию), поэтому вы можете захотеть разделяйте свои домены (например, www.yourdomain.com и comet.yourdomain.com), чтобы вы не сильно замедляли загрузку своих страниц. Или вы можете просто убедиться, что вы не открываете соединение кометы, пока не загрузится все остальное. Это просто нужно быть осторожным.
Ответ 2
Вы должны заглянуть в комету:
http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications
Ответ 3
С HTTP, соединение должно начинаться с клиента. Но есть методы, доступные для того, чтобы сервер держал соединение открытым и скрывал данные по мере необходимости.
Обычно они считаются Comet или HTTP Streaming.
Ответ 4
Вы можете использовать Comet методы программирования для этого. В основном страница вызывает вызов на сервер, который не возвращается, пока сервер не сможет что-то отправить (в этот момент клиент немедленно делает тот же вызов). Таким образом, сервер может нажимать контент на клиента почти всегда, когда захочет.
Поддержка зависит от платформы и больше связана с сервером, чем с клиентом.
Ответ 5
Вот несколько вопросов в подобном ключе. И, конечно, все вопросы, помеченные comet