Я проводил некоторые исследования наилучшего способа отображения счетчика «пользователи в сети», который обновляется до второй попытки избежать непрерывного опроса ajax.
Очевидно, что WebSockets - лучший вариант. Поскольку это интрасеть, я обязуюсь использовать Chrome или Safari, чтобы не было проблем с совместимостью.
Я читал некоторые статьи о WebSockets, так как я новичок в этом, и я думаю, что я в значительной степени понимаю, как это работает.
Я не совсем уверен, как реализовать это с помощью PHP. Node.js кажется естественным выбором для этого, потому что он «всегда работает», но это не вариант.
Почему меня больше всего смущает тот факт, что PHP работает, и когда он закончен, он заканчивается. Если PHP закончится, не будет ли потеряно сокетное соединение? Или, если PHP перезапустит, он будет смотреть назад пользователя по IP? (Я не думаю, что это вероятно)
Тогда я нашел эту библиотеку
http://code.google.com/p/phpwebsocket/
но он кажется немного старым (в нем упоминается только то, что Chrome ночью совместим с WebSockets)
В одной точке написано: «Из командной строки запустите программу server.php для прослушивания соединений с сокетами». это означает, что мне нужен SSH, чего нет во многих планах общего хостинга.
И другое мое сомнение в том, что другая строка в источнике этой библиотеки:
set_time_limit(0);
означает ли это, что файл php будет работать непрерывно? Это разрешено на виртуальном хостинге? Из того, что я знаю, все хостинги убивают php по истечении тайм-аута в 1 o2 минуты.
У меня есть таблица mysql с онлайн-пользователями, и я хочу использовать PHP для трансляции через websocket количество зарегистрированных пользователей этим онлайн-пользователям. Может ли кто-нибудь помочь мне или указать куда-нибудь более подробную информацию о том, как этого можно достичь?
Спасибо