Node.JS(+ Socket.io)和PHP的组合,用户和更改套接字ID的组合

时间:2013-02-02 15:29:30

标签: php node.js authentication socket.io

我已经和Node.js玩了两天了,我慢慢理解它是如何工作的。我现在已经检查了多个主题和帖子,但我似乎误解了它们或者我正在考虑这个应用程序的方式是完全错误的。

我的应用程序主要基于PHP,并使用Node.js作为通知系统。 我首先只想在Node.js中使用它,但我更熟悉PHP,因此我只想将Node.js用作通知系统。

我没有任何真实的代码可以展示,因为我一直在玩,并且看到Node可以做的所有东西,到目前为止它似乎是我需要的东西,有一件事我无法弄清楚或似乎误解了。到目前为止,我想出了如何在用户和服务器之间发送数据,并使用socket.io进行此操作。

那么,如果我有一个用户,在我的应用程序中注册并登录该怎么办?然后他有来自socket.io的套接字ID,但是当用户离开我的应用程序并在第二天回来时他的套接字ID被更改,因为它似乎在每个连接上都发生了变化。我需要让我的用户总是拥有相同的套接字ID或其他告诉我的node.js服务器它应该只向一个特定用户或多个用户发送数据。此外,由于socketid似乎在每个请求上都有变化,当用户访问不同的页面时它甚至会被更改,所以我似乎永远不知道哪个用户是什么。

我有点困惑,使用PHP和Node.js的流程对我来说仍然有点神秘,所以我希望我的问题很明确。我不想依赖于许多模块,因为我发现所有这些不同的模块对于像我这样的初学者来说有点令人困惑。

1 个答案:

答案 0 :(得分:0)

只要PHP-Node.js使用存储在除标志文件会话之外的其他地方的会话,就可以说是缓存服务或数据库mysql或nosql ..

您可以使用“相同的平面文件”会话,认为缓存或数据库可以使您的应用程序“更多”当然还有其他做法允许经过身份验证的用户尝试通过控制何时进行连接/ b>呈现包含连接到socket.io服务器的信息的javascript代码,其中附加列表存储在所有连接的内存中,其中包含用户名/日志/时间戳/会话变量/等信息。