Как я могу реализовать механизм, в котором я могу отправлять данные с сервера на клиент?
Я реализовал Java-приложение, в котором клиент прослушивает URL-адрес на сервере с определенной частотой (сторона сервера реализована с использованием PHP).
Каждый раз, когда клиент открывает соединение и проверяет возвращенный json с сервера на наличие обновлений.
Я думаю, что это не очень хорошее соглашение, потому что в этом методе клиент продолжает отправлять HTTP-запросы на сервер, поэтому у сервера слишком много подключений — и более 90% этих запросов не имеют ответа от сервера.
Моя цель — уменьшить количество запросов от клиента к серверу, поэтому я пытаюсь реализовать то же самое, но на ЗАДНИЙ ХОД заказ: каждый раз, когда на сервере происходит обновление (на сервере есть сообщение для клиента), оно отправляет его клиенту — клиент должен будет периодически прослушивать сообщение на сервере.
Как я могу реализовать такой механизм?
Это работает ?
Если нет, то как лучше всего решить мою проблему?
Это лучше, что я реализую серверную часть также в Java?
Я хочу вашей помощи, пожалуйста.
Благодарю.
Вы можете использовать веб-сокеты, которые предназначены для этого: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
Вы можете делать другие вещи, но это, вероятно, самый простой.
Как насчет использования шаблона издатель / подписчик, реализованного в библиотеке распределенных сообщений? ZeroMQ. Для php и java доступны привязки. Я недавно использовал zeromq в проекте и был очень удивлен его простотой использования и производительностью.