当前位置:  开发笔记 > 编程语言 > 正文

使用Redis在PHP和socket.io/node.js之间进行通信

如何解决《使用Redis在PHP和socket.io/node.js之间进行通信》经验,为你挑选了0个好方法。

我在Apache上构建并运行了一个PHP应用程序,使用Nginx作为反向代理来提供静态资源.

我还安装了Redis,我用它来存储每个用户活动流的活动ID.该活动被写入MySQL数据库,然后Redis将活动ID推送到每个用户流中.当用户收到他/她的活动流时,应用程序首先从Redis检索活动ID的用户列表,然后通过MySQL IN()查询获取实际活动数据.

这一切都很好,但我想开始为这个设置添加实时功能.我希望能够将这些事件直接推送到用户浏览器并添加常规实时通知.

为此,我已经使用socket.io安装了node.js. 我正确启动并运行了socket.io服务器,并在页面加载时自动连接客户端.

我正在努力的地方是了解如何从我的PHP应用程序中向socket.io发布消息.由于PHP和node.js无法直接通信,我的理解是我最好将Redis用作中间人,因为我已经安装并启动并运行它.但是我不知道该怎么做.

我需要的是从PHP发送通知到Redis然后再发送到socket.io以便将其推送到相关客户端的过程描述(任何代码示例都非常有用).

另外,我不明白socket.io如何知道要发送到哪个客户端.我如何传递这些信息并保持一致?这甚至是必要的吗?我是否需要在Redis中存储我的PHP会话并让socket.io在用户连接时收集数据?或者还有另一种方式吗?

提前致谢.

请注意:我的PHP SESSION数据当前已保存到磁盘.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有