Мои исследования
Я потратил часы на изучение всего Google и SO о Websockets и Long Polling, их плюсах и минусах и т.д., но еще не нашел решение clear.
Я прочитал больше статей по этой теме, чем все, что я когда-либо изучал, в том числе (чтобы назвать несколько):
- Ajax/PHP - следует ли использовать один длинный script или опрос?
- Длинный опрос с использованием jQuery и PHP
- База данных опросов для изменений - Ajax/jQuery
Я также рассмотрел следующее:
Обоснование этого вопроса
На первый взгляд, этот вопрос может показаться дублирующим или слишком локализованным, однако после моих обширных исследований я не смог собрать достаточную информацию, чтобы принять обоснованное решение о том, какой маршрут должен идти вниз.
Поэтому я надеюсь, что один из вас, гениев, любезно предоставит вам время ответить на этот вопрос и поделиться своими блестящими знаниями с остальными из нас: -)
Мой вопрос
Короче говоря, мой вопрос действительно в названии; Если я пытаюсь обнаружить изменения в записи базы данных, лучше ли использовать websocket (socket.io) или длительный опрос (jQuery и AJAX)?
Если ответ является websockets, то, пожалуйста, включите базовый пример, поскольку они действительно смутили меня, даже со всеми статьями в Google...
Кроме того, могут быть другие способы сделать это, которые лучше или более подходят, если да, пожалуйста, поделитесь ими, я открыт для любых предложений!
Дополнительная информация
Это, вероятно, не повлияет на окончательный ответ, но на всякий случай я хотел бы объяснить, что я пытаюсь обнаружить, и несколько вещей, которые могут потребоваться рассмотреть.
Фактически, я пытаюсь обнаружить любые изменения в сеансе входа в систему. Другими словами, если токен пользователей изменился в базе данных или, их тайм-аут закончился, то они были выведены из системы, и я хотел бы отобразить сообщение, сообщающее об этом.
Я не думаю, что это будет иметь значение, но окончательный код для этого должен быть подходящим для SSL. Это легко с AJAX, но я не знаком со стороной веб-сайтов.
Изначально я написал систему, в которой был получен тайм-аут с сервера с помощью javascript, а затем в timeout
секунды он опросил бы сервер, чтобы узнать, истек ли срок действия timeout
. Я думал, что это было идеально, пока я не понял, что он работает только тогда, когда время на клиентском компьютере совпало со временем на сервере. Поэтому мне пришлось отказаться от этого: - (
В любом случае, я надеюсь, что мой вопрос не слишком локализован, и я с нетерпением жду ваших мнений и ответов. Пожалуйста, не тратьте время на то, чтобы помочь мне с кодом базы данных PHP или кодом jQuery AJAX, если у него нет сложных деталей, поскольку я могу написать эту часть самостоятельно, и на стеке есть много других, которые нуждаются в вашем помогите больше, чем мне. Меня больше интересуют ваши мнения и/или как это сделать с помощью websockets, если они являются лучшим решением: -).