Я хочу реализовать PHP-чат с несколькими комнатами, однако я не хочу, чтобы каждый браузер опросил сервер, вместо этого Я предпочитаю, чтобы сервер отправлял обновления всем пользователям в каждой комнате. В идеале я хотел бы иметь только экземпляр PHP работает для каждой комнаты (плюс, конечно, запросы AJAX, отправленные пользователями для обновления БД, я знаю, что на стороне сервера события широко не поддерживается):Может ли больше браузеров получать серверные события из того же экземпляра PHP-скрипта?
- пользователей сообщений POST с использованием POST AJAX-запрос
- , когда скрипт PHP в комнате читает БД и находит новое сообщение, он отправит обновление всем пользователям, подключенным к этой комнате, таким образом, он будет более отзывчивым и будет оказывать меньшее давление на связь БД
Так что в принципе, если есть N пользователей и K комнат, я хочу уменьшить накладные расходы от
N database/php poll requests every while
в
K database/php poll requests every while
Я думаю, что это может быть полезно: https://github.com/walkor/phpsocket.io у него даже есть пример чата в readme – valepu
спасибо, я буду считать, что, однако, я искал что-то более простое, чем сокет для кода из-за ограничений по времени, EDIT: ehy, что библиотека и Workerman приложили много усилий, они кажутся гораздо более масштабируемыми и полными, чем любая другая инфраструктура, однако это потребует когда-нибудь получить графы из этих – GameDeveloper
Не думаю, что есть альтернатива, если вы хотите, чтобы ваш сервер отправлял запросы клиентам и использовал только PHP, вам понадобятся веб-узлы. Альтернативой является «длинный опрос» http://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet – valepu