gpt4 book ai didi

php - Ratchet Websocket 推送集成

转载 作者:行者123 更新时间:2023-12-04 16:13:11 24 4
gpt4 key购买 nike

我正在尝试使用 Websockets (Ratchet) 开发聊天系统。到目前为止,我已经制作了一个基于 PHP 的功能性 Websocket 服务器,它能够使用以下方法对预定义的 JSON 编码消息进行应答。

function onMessage(ConnectionInterface $from, $msg){ ... }

问题是,如果我的表中发生了某些变化,我想通过后台工作程序/线程将消息从后端数据库推送到正确的客户端。这可以使用 PHP 吗?

我不希望客户端每 5 分钟要求 websocket 服务器刷新其状态,如下所示。
{"action":"giveMeUpdates"}

但是网络服务器应该能够做这样的事情:
{"status":"newMessages", "messagelist":[...]}

此外:
class Chat extends ChatActionHandler implements MessageComponentInterface { ... }

这是我的类,其中 ChatActionHandler 包含与客户端请求交互的函数。使用 MessageComponentInterface 我只能回复像 function onOpen(ConnectionInterface $conn) 这样的 Socket 事件.它由 RatchetIO 服务器运行:
$server = IoServer::factory(
new Chat(),
8080);
$server->run();

最佳答案

您可以附加计时器,例如 cron

$this->loop->addPeriodicTimer($timeout, function($timer) {});

关于php - Ratchet Websocket 推送集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45355500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com