php - 来自服务器进程计时器的 Swoole 错误 9009 消息,而不是 Worker 进程回调?
问题描述
我使用 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 消息的正确方法是什么?
解决方案
推荐阅读
- flutter - 将flutter GetX与flutter_modular和flutter_hook混合
- reactjs - 错误:未定义所选字段(电子邮件)
- javascript - 在 ReactJS 中扩展功能组件
- c++ - 简单奥林匹克问题的贪心算法
- java - 由于某种原因,我的 Spring Boot 应用程序不理解 bcrypt
- python - 使用 python 纸浆创建优化问题以最小化两个求和
- python - KeyError:使用会话时 Docker 中的“电子邮件”
- function - 谷歌表格脚本 - 通过编辑谷歌表格新的不需要的列被填充 - 我怎样才能避免这种情况?
- python - 如何在python中重复列表中的数字?
- sql-server - Docker Microsoft SQL Server - PHP Artisan Migrate - 找不到驱动程序