我使用 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) 无法将数据发送到主进程中的连接
不是从 Master 而是从 Worker 进程推送 WebSocket 消息的正确方法是什么?