Интервалы опроса сервера для JavaScript болтают клиент

Вы можете использовать get_user_by() для получения информации о пользователе по имени пользователя


Ссылка: https://developer.wordpress.org/reference/functions/get_user_by/

11
задан nickf 24 March 2009 в 03:44
поделиться

6 ответов

Комета, описанная Brian, является хорошей техникой, но требует сеансовой поддержки на сервере, который, вероятно, более совершенствуется, чем Вы хотите реализовать для простого поля чата.

Лучший способ реализовать интервалы опроса состоит в том, чтобы вообразить Вас болтающим окном, которое можно минимизировать, чтобы сделать другой материал, или открытый, чтобы видеть, есть ли у Вас новые сообщения. Когда Вы будете посреди разговора, Вы будете переключаться на него (опрос) часто. Если Вы не получите сообщений некоторое время, то Вы начнете выглядеть более редкими и более редкими, пока Вы только не будете иногда проверять его.

Принятие Вас не должно делать ввода в реальном времени, можно, вероятно, опрашивать каждые 3 секунды или поэтому когда при пиковом действии, и если ничто не собирается для 5-10 опросов, начинают проворачивать интервал (возможно, удваивающий его каждый раз), пока это не поражает 30-60 секунд. Возвращение сообщения должно сбросить интервал опроса назад к нескольким секундам, в то время как отправка сообщения должна опросить немедленно, но вероятно не должна производить частоту опроса иначе.

4
ответ дан 3 December 2019 в 09:21
поделиться

Вы могли бы хотеть изучить то, что, как известно, как методы программирования Кометы передает информацию потоком вниз Вашим пользователям, вместо того, чтобы иметь клиент опрашивают сервер. Это - на самом деле семейство методов, некоторые из которых могут работать лучше, чем другие в зависимости от обстоятельств, такой как, какой сервер Вы используете и в какой клиентской совместимости Вы нуждаетесь.

Если Ваш сервер может обработать большое количество открытых соединений за один раз (как в, он не использует весь поток или процесс для каждого подключения, такой как nginx, или erlang основывал сервер), можно хотеть использовать долгий метод опроса, где, поскольку скоро одно сообщение получено, клиент сразу запрашивает другое сообщение. Если нет никаких доступных сообщений, сервер просто сохраняет соединение открытым, возможно отправляя иногда фиктивные данные как проверку активности, пока сообщение не становится доступным.

5
ответ дан 3 December 2019 в 09:21
поделиться

Честно, если Вы реализуете †œbasic мало shoutbox/chat†Ajax?, вещи как Бессмысленные данные, Комета и т.д. является излишеством для Вас. Эти вещи потребуют, чтобы Вы выполнили дополнительные серверы/прокси для взятия загрузки сервера приложений и дб.
Когда Вы думаете о материале как управление присутствием (â€, œJoe вводит... â€?), затем вещи становятся чрезмерно сложными для Вашего приложения (рассматривающий œchat†â€? не Ваш главный фокус).
Думайте о добавляющих виджетах от поставщиков как Meebo и Userplane. После того как Вы масштабируетесь, думают о Бессмысленных данных и likeâ€\¦

3
ответ дан 3 December 2019 в 09:21
поделиться

http://jabbify.com/home/comet_service Это бесплатный кометный чат, созданный парнями, которые работали с фреймворком jmvc. Еще не пробовал, но выглядит многообещающе.

0
ответ дан 3 December 2019 в 09:21
поделиться

Это - очень трудный вопрос, помните о злоупотреблении. Злонамеренные пользователи будут поражать Вас максимально часто с самой ранней меткой времени, фальсифицируемой, чтобы вызвать напряжение на Вашем сервере БД. Обязательно проверьте ту метку времени или проигнорируйте ее, потому что не был должен все быть в то же время так или иначе?

Можно отправить интервал опроса пользователю как функция времени отклика другого пользователя. Это - лучшее довольно динамическое, я думаю.

0
ответ дан 3 December 2019 в 09:21
поделиться

Необходимо проверить, чтобы видеть, вводит ли другой пользователь каждые 5 секунд или так, если другой пользователь вводит, то можно проверить каждую 1 секунду, чтобы видеть, отправил ли пользователь новое сообщение. Действительно, хотя, необходимо смочь проверить каждую 1 секунду, чтобы видеть, вводит ли другой пользователь и если они - затем каждые.25-.5 вторых проверок, чтобы видеть, было ли новое сообщение отправлено. Так как широкополосная связь таким образом общепринятая на inet, не должна быть проблема. Пойдите с более долгим тайм-аутом опроса для коммутируемого доступа.

0
ответ дан 3 December 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: