1

我正在试一试socket.io,我很好奇我应该和不应该用websockets做什么。

例如,有没有一种方法来验证 websocket(也许在每条消息中都包含 id?)?假设我正在创建一个类似“谷歌文档”的应用程序,人们可以在其中创建新文档。我应该使用 AJAX 而不是 websockets 创建新文档吗?这样我就可以使用标准 HTTP 传输层来执行所有用户授权(检查会话等),然后简单地使用 websocket 事件 ping 回页面。很好奇人们如何处理这样的情况。

4

1 回答 1

0

我建议在您绝对不需要 Web 套接字的地方使用 AJAX。Web 套接字最终会在服务器端产生更多负载(socket.io 将处理后备以防万一 Web 套接字和闪存套接字不可用)。简而言之,在需要维护与客户端的状态/连接的地方使用 Web 套接字。

如果您希望使用 Web 套接字,使用带有 socket.io 的 cookie 将是一种允许您跟踪会话的方法。如果不马上使用 socket.io,你可以发送 req.sessionID(key) 到客户端,将会话信息存储在 Redis/Mongo 等。当尝试连接 socket.io 时,读取 cookie 值并将其发送到服务器 - 您可以在其中获取会话存储信息。如果您使用闪存插槽作为后备之一,则可能会出现问题。

希望这可以帮助。

于 2012-07-05T23:45:56.877 回答