关于 websocket 接收到消息后发送给 php 的方法
在您提到的场景中,需要一种方法将 WebSocket 接收到的数据传递给 PHP 接口。以下是如何实现这一目标:
解决方案 1:建立数据缓存层
虽然这种方法可以有效地将数据从 WebSocket 传递到 PHP,但它可能会导致阻塞问题,特别是如果 WebSocket 或 Redis 出现故障时。
立即学习“PHP免费学习笔记(深入)”;
替代解决方案:直接从前端轮询
- PHP 接口在接收到 WebSocket 消息时,直接返回一个响应,告知前端数据正在请求中。
- 前端会不断轮询接口,直到返回实际数据。
这种方法避免了阻塞问题,并允许您继续处理其他请求。
在您的案例中,已使用加入缓存的解决方案,并让前端处理业务逻辑。PHP 接口首先查询缓存,如果找不到数据,则向网关请求线下数据,然后返回一个空响应。前端会不断轮询接口,直到返回实际数据才停止。