如何使用nodeJS TCP服务器与MongoDB实现会话?

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

我想知道所有的数据保留在节点服务器和什么可以存储在数据库中。 像会话令牌的数据,或者如果我维护持续连接等的套接字的集合。

Node.JS默认没有任何会话。 实际上,有一个用于pipe理MongoDB会话的插件 。

不清楚你是否真的需要会议。 如果你用socket.io打开一个直接的套接字,这是一个事实上的会话。

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

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

很多应用程序采取的一种方法是创build自己的协议并使用它们发送消息。 你将不得不处理很多案件。 而我自己从来没有处理过移动,你有严重的连接挑战和caching要求,这在台式机上不是什么大问题。

为了解决这个问题,Scribd的创始人开办了一个叫Parse的公司,这个公司可以让你更容易做事。 看看他们的网站: https : //parse.com/ 。

如果你想做一些authentication,那么看看Everyauth,它为你提供了很多。 你可以在这里find它: https : //github.com/bnoguchi/everyauth/ 。