Я делаю некоторые исследования наилучшего способа показать счетчик пользователей онлайн, который обновляется до второго, пытаясь избежать непрерывного опроса ajax.WebSockets на общедоступном хостинге PHP
Очевидно, что 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 количество зарегистрированных пользователей для этих онлайн-пользователей. Может кто-нибудь, пожалуйста, помогите мне или укажите мне где-нибудь лучшую информацию о том, как это можно достичь?
Благодаря
веб-сокеты являются популярными, но события, отправленные сервером, могут быть лучше подходят для вашей цели, если вы можете заставить его работать. SSE, по-видимому, можно поддерживать в старых браузерах с JS, тогда как веб-сокетов нет, плюс вам не требуется двусторонняя связь. Я пытаюсь работать через PHP SSE проблемы здесь: http: // stackoverflow.com/questions/9070995/html5-server-sent-events-prototyping-ambiguous-error-and-repeat-poll – tomfumb
У меня нет проблем с совместимостью, потому что я могу управлять используемым браузером, и меня интересовали WebSockets, я видел, как он работает на trello.com, и он работает как шарм. – Juan
Мое предположение, что вы не пытаетесь использовать PHP для приложений с поддержкой состояния, поскольку PHP был разработан для таких целей в первую очередь. Также, как вы отметили, общий хостинг может помешать открытию произвольных сокетов. Лучше всего получить свой собственный сервер VPS http://www.lowendbox.com/ –