加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

NodeJS与PHP应用程序和用户会话

发布时间:2020-12-13 13:57:25 所属栏目:PHP教程 来源:网络整理
导读:我有一个 PHP应用程序(与Symfony2),我需要让我的用户和其他的话,实时(与socket.IO). 我们专注于聊天机制:记录的用户可以与其他记录的用户(在Symfony中使用FOSUserBundle记录)进行通话.当用户发送消息时,必须保存在MySQL中并实时发送给其他用户.所以这个消息
我有一个 PHP应用程序(与Symfony2),我需要让我的用户和其他的话,实时(与socket.IO).
我们专注于聊天机制:记录的用户可以与其他记录的用户(在Symfony中使用FOSUserBundle记录)进行通话.当用户发送消息时,必须保存在MySQL中并实时发送给其他用户.所以这个消息链接到我的MySQL数据库中的两个用户(一个发送者和一个接收者).

所以我有两种可能性:

>我用PHP存储消息:

>我有一个事件点击“提交”,并用AJAX调用一个PHP网址
>如果我的PHP返回“OK”(所以他在数据库中正确添加了消息),我发出一个Socket.IO事件 – >让学说处理与用户的数据和symfony
>在NodeJS端,我有一个这个事件的监听器,我通过Socket.IO发送了一个其他的事件

>我只使用NodeJS:

>如何在PHP和NodeJS端登录我的用户?
>我需要使用不同的数据库来实时获取数据?
>如何在NodeJS和PHP之间共享我的用户?

我不知道什么是最干净的解决方案,如果有人可以帮助我.
谢谢 !

可以使用像redis这样的通用数据存储来存储用户会话

检查此链接以供参考

http://simplapi.wordpress.com/2012/04/13/php-and-node-js-session-share-redi/

还要检查

http://www.slideshare.net/leeboynton/integrating-nodejs-with-php-march-2013-1

这使您可以概述如何使用常见的内存中数据存储和一些示例memcached代码来共享会话.

的WebSockets

如果您正在为WebSockets部分使用nodej,我建议不要因为那样您也必须在nodejs中复制您的用户认证逻辑

您可以在PHP中使用像http://socketo.me/这样的库来做WebSockets

至于在MySQL中存储消息呢

您的第一种方法是使AJAX调用将消息存储在数据库中,等待响应,然后发出SocketIO事件将导致聊天体验的缓慢.
我建议您通过NodeJS(异步)将消息存储到MySQL中

在支票https://github.com/kyle-dorman/ChitChat.js上添加实时聊天功能到您的网站.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读