Я пытаюсь разработать длинный опрос на моем javascript-клиенте и на моем сервере, который управляет http-запросами. На сервере у меня есть релайт, который прослушивает запрос и обрабатывает их, в клиенте у меня есть javascript api, который делает http-вызовы с объектом xmlhttprequest.Реализация длинного опроса на сервере
Теперь у меня есть js setTimeOut с задержкой в 3 секунды, что делает опрос на сервере, в большинстве запросов я ничего не получаю, я хочу реализовать длинный опрос. Вопрос в том, должен ли я реализовать на своем сервере логику долгого опроса, мой reslet использует jetty, и я хотел бы реализовать что-то вроде Thread.sleep, пока у меня не будет отправки клиенту? или у меня есть изначально методы в java или restlet, которые позволяют мне обойтись без длительной реализации.
Я ценю ваши ответы!
вы можете увеличить задержку, например. по коэффициенту '2' каждый раз, когда ваш ответ пуст (так что задержка будет 3/6/12/24/48/96/... секунд), а затем снова установите его на 3 секунды, когда вы получите что-то – fcalderan
Но в этот случай, когда я делаю 5º тянуть и пуст, следующее вытягивание будет через 96 секунд? .... очень долгое время, поэтому я хочу заменить для длительного опроса – Kalamarico
Если вы открыты для новых технологий: посмотрите на http://socket.io/. Серверный сервер - node.js. И он использует websockets, которые даже лучше, чем longpolling, и имеет несколько резервных копий, если веб-узлы недоступны. – Christoph