如何使用带有MongoDB的nodeJS TCP服务器实现会话?

时间:2012-07-05 22:15:49

标签: node.js mongodb

我正在为iOS创建一个基于TCP的游戏服务器,它涉及注册和登录。 用户将被存储为MongoDB中的集合。 登录完成后,我会生成一个唯一的会话ID - 如何

我想知道节点服务器上剩下的所有数据以及可以存储在db中的内容。 如果我正在维护持久连接等,则会话令牌或套接字集合等数据。

2 个答案:

答案 0 :(得分:2)

Node.JS默认没有任何会话。事实上,有一个plug-in for managing sessions with MongoDB

然而,您确实需要会话并不清楚。如果你用socket.io打开一个直接套接字,那就是一个事实会话。

答案 1 :(得分:0)

Node.js本身不会为您管理会话。它只是将API公开给底层的unix工具进行Socket通信。其中的HTTP是无状态协议,也没有会话。另一方面,SSH是一个有状态的协议,但我认为任何一个都不会对你有好处。

创建uniuqe ID非常简单,您只需要散列一些关于用户的数据。他们的SHA(IP address + time + username)。请参阅:http://nodejs.org/api/crypto.html

许多应用程序采用的一种方法是创建自己的协议并使用它发送消息。你将不得不处理很多案件。而且我自己从未处理过移动设备,因为您遇到严重的连接挑战和缓存要求,而这些要求在桌面上并不是一个大问题。

为了解决这些问题,Scribd的创始人创立了一家名为Parse的公司,这应该让你更容易做事。看看他们的网站:https://parse.com/

如果您想进行一些身份验证,请查看Everyauth,它为您提供了很多。您可以在此处找到它:https://github.com/bnoguchi/everyauth/