Стандартный порядок связи в веб-приложениях заключается в том, что HTTP-запросы инициируются веб-клиентом (браузером), а затем на них отвечает сервер.
Вам нужно, чтобы роли поменялись местами, и серверный компьютер запросил клиентский компьютер для получения сообщения.
Это называется принудительной отправкой на сервер. Связанная статья в Википедии перечисляет множество обходных путей.
Клиент, неоднократно спрашивающий сервер, пришло ли новое сообщение, - это самый простой метод, он называется опросом, но выполняемый с высокой частотой создает нагрузку на сервер (умножается, если это делают несколько клиентов), и с низкой частотой не реагирует достаточно быстро. для многих случаев использования.
Несмотря на большой шрифт, используемый другим пользователем emsch, WebSockets не подходят для всех (пока), поскольку не все браузеры его поддерживают. Сравните ваш браузер / матрицу ОС, например. с реализацией браузера.
Пару лет назад мне больше всего нравился BOSH, который я предпочел другим методам, таким как Comet: BOSH требуется соединение, удерживаемое сервером, чтобы сервер мог реагировать и потенциально второе соединение. к серверу, чтобы клиент ответил. Поскольку могут возникать тайм-ауты, через некоторое время пустые обмены выполняются с низкой частотой. Поэтому, если на сервер или клиент не поступают сообщения, BOSH ведет себя как медленный опрос.
Если вы новичок в веб-разработке и разработке сетей, я бы посоветовал поискать хорошую библиотеку обмена сообщениями.
- Если вам необходимо поддерживать старые браузеры, воспользуйтесь библиотекой, которая поддерживает несколько из упомянутых методов и возвращается к наиболее подходящему случаю.
- Если вы можете использовать современные браузеры, попробуйте библиотеку на основе WebSockets.
person
mvw
schedule
14.09.2015
TRUE
. Другой клиент может просто продолжать проверять этот флаг (возможно, также с помощью AJAX). Как только он замечает, что он перевернут наTRUE
, он может собирать и отображать сообщение, снова устанавливая флаг наFALSE
. - person Twisty   schedule 14.09.2015