[英]NodeJS with PHP application and user session
我有一个PHP应用程序(使用Symfony2),我需要让我的用户实时交谈(和socket.IO)。 让我们关注聊天机制:已登录的用户可以与其他已登录用户交谈(使用Symfony中的FOSUserBundle进行登录)。 当用户发送消息时,它必须保存在MySQL中并实时发送给其他用户。 因此,消息链接到MySQL数据库中的两个用户(发送者和接收者)。
所以我有两种可能性:
如果有人可以帮助我,我不知道什么是最干净的解决方案。 谢谢 !
可以使用像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部分使用nodejs,我建议你不要因为那时你必须在nodejs中复制你的用户身份验证逻辑
您可以使用某些库(如http://socketo.me/)在PHP中执行WebSockets
至于在MySQL中存储消息的话
您的第一种方法是进行AJAX调用以将消息存储在数据库中,等待响应然后发出SocketIO事件将导致缓慢的聊天体验。 我建议你通过NodeJS将消息存储到MySQL(异步)
在旁边注意检查https://github.com/kyle-dorman/ChitChat.js,以便为您的网站添加实时聊天功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.