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

前端之家收集整理的这篇文章主要介绍了NodeJS与PHP应用程序和用户会话前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 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添加实时聊天功能到您的网站.

猜你在找的PHP相关文章