Я использую Swoole в качестве сервера WebSocket. Один раз в секунду мне нужно транслировать сообщение всем подключенным клиентам WS.
Наивный подход: я устанавливаю таймер сервера $server->tick()
перед запуском сервера:
$this->server->tick(1000, function () {
$message = 'hello';
foreach ($this->server->connections as $fd) {
$this->server->push($fd, $message);
}
});
Получены ошибки:
[2020-05-05 12:23:56 # 21985.2] ОШИБКА swServer_tcp_send (ERRNO 9009) не может отправить данные в соединения в главном процессе
Что - это правильный способ отправки sh сообщений WebSocket не от мастера, а от рабочего процесса?