Yshout работает, выполняя запрос AJAX против yshout/yshout.php каждые 6 секунд. Добавьте немного кода в yshout.php для отслеживания количества уникальных пользователей, которые он видел за последние 10 секунд, и вы должны быть установлены.
Edit: вы хотите имена каждого активного в чате? У меня возникнет соблазн добавить таблицу базы данных для этого - каждый раз, когда они нажимают на yshout.php, добавьте запись с именем + timestamp и удалите все записи более 10 секунд. Затем запросите имя GROUP BY, чтобы получить уникальные пользователи.
Edit 2: чата клиент уже делает-запрос AJAX на yshout.php каждые шесть секунд. Все, что вам нужно сделать, это добавить фрагмент кода PHP в поле «if (isset ($ _ POST ['reqFor'])) (бит, который отвечает на запросы AJAX).
Держите его коротким! Помните, что его забивают примерно 150 раз в минуту.
Я никогда не слышал о кометах, я использую пакет чата Yshout – sark9012
Если вы используете сторонний пакет, а не что-то, что вы создали, то идея вашей страницы будет в порядке. Я не знаю, можете ли вы сказать, вышел ли кто-нибудь из комнаты или нет. Это зависит от того, находится ли окно чата в вашем домене или нет. Если это так, вы можете поставить window.setTimeout на место, чтобы периодически пинговать ваш веб-сервер с помощью keepalive, который гласит: «Я все еще здесь!». – jmort253
Да, окно чата находится на моем собственном сервере. Мне нравится эта идея использования setimeout. Должен ли я google это? Что касается того, что я изначально предложил, если бы пользователь открыл второе окно на второй вкладке, это, конечно, означало бы, что в чате будет видно, что их там нет? – sark9012