2012-07-05 144 views
1

我给socket.io一个旋风,我很好奇,我应该和不应该用websockets做什么。Websockets(Socket.io)和认证/授权

例如有没有一种方法来验证websocket(包括每个消息中的id?)?比方说,我正在创建一个“Google文档”,就像人们可以在其中创建新文档的应用程序一样。我应该使用AJAX创建新文档而不是websockets?这样我就可以使用标准的HTTP传输层来完成所有的用户授权(检查会话等),然后用websocket事件简单地回显页面。好奇人们是如何处理这样的情况的。

回答

0

我会建议使用AJAX无论你不绝对需要网络套接字。 Web套接字最终在服务器端创建更多的负载(socket.io将负责在web套接字&闪存套接字不可用的情况下进行回退)。简而言之,使用Web套接字,您需要维护到客户端的状态/连接。

如果你想使用网络套接字,使用cookie和socket.io将是一种方法,可以让你跟踪你的会话。如果不立即使用socket.io,则可以将req.sessionID(密钥)发送给客户端,将会话信息存储在Redis/Mongo等中。尝试socket.io连接时,请阅读cookie值&将其发送给服务器 - 您可以在其中获得会话存储信息。如果您使用闪存套接字作为后备之一,可能会有问题。

希望这会有所帮助。

+0

感谢您提供cookies + socket.io的提示。这是一个内部实时应用程序,所以回退并不是什么问题 – Msencenb 2012-07-06 01:13:06