Какая либа лучше всего подходит для SSE (Server-Sent-Events)?
Ссылка скопирована
Меня так же интересует возможность сохранения подключений в группы, чтобы событие какого-то подключения видели все участники группы (но не все подключения).
Дополнительно:
server site events имело смысл, когда websockets не поддерживались браузерами, теперь это не имеет смысла.
Используй websocket swoole php
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
0 ответов
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
0 ответов
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
0 ответов
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
0 ответов

Для работы с Server-Sent Events (SSE) в PHP можно использовать библиотеку Ratchet. Ratchet предоставляет простой и удобный способ создания сервера, который может отправлять данные клиенту без необходимости постоянного запроса на сервер.
Пример использования Ratchet для SSE:
use Ratchet\Server\IoServer; use Ratchet\Http\HttpServer; use Ratchet\WebSocket\WsServer; use Ratchet\Http\HttpServerInterface; use Ratchet\MessageComponentInterface; class SSEServer implements MessageComponentInterface { protected $clients; public function __construct() { $this->clients = new \SplObjectStorage; } public function onOpen(ConnectionInterface $conn) { $this->clients->attach($conn); } public function onMessage(ConnectionInterface $from, $msg) { // Не используется в SSE } public function onClose(ConnectionInterface $conn) { $this->clients->detach($conn); } public function onError(ConnectionInterface $conn, \Exception $e) { $conn->close(); } public function sendData($data) { foreach ($this->clients as $client) { $client->send($data); } } } $server = IoServer::factory( new HttpServer( new WsServer( new SSEServer() ) ), 8080 ); $server->run();
В этом примере создается сервер SSE с использованием Ratchet. SSEServer реализует интерфейс MessageComponentInterface для обработки клиентских подключений. Метод sendData отправляет данные всем подключенным клиентам.
Ratchet обеспечивает простой способ создания сервера SSE и управления подключениями клиентов. Благодаря этой библиотеке вы можете легко реализовать функциональность сервера, который отправляет данные клиентам по мере их поступления, без необходимости постоянного запроса на сервер.
Таким образом, Ratchet является отличным выбором для работы с SSE в PHP благодаря своей простоте и эффективности.