我正在试一试socket.io,我很好奇我应该和不应该用websockets做什么。
例如,有没有一种方法来验证 websocket(也许在每条消息中都包含 id?)?假设我正在创建一个类似“谷歌文档”的应用程序,人们可以在其中创建新文档。我应该使用 AJAX 而不是 websockets 创建新文档吗?这样我就可以使用标准 HTTP 传输层来执行所有用户授权(检查会话等),然后简单地使用 websocket 事件 ping 回页面。很好奇人们如何处理这样的情况。
我正在试一试socket.io,我很好奇我应该和不应该用websockets做什么。
例如,有没有一种方法来验证 websocket(也许在每条消息中都包含 id?)?假设我正在创建一个类似“谷歌文档”的应用程序,人们可以在其中创建新文档。我应该使用 AJAX 而不是 websockets 创建新文档吗?这样我就可以使用标准 HTTP 传输层来执行所有用户授权(检查会话等),然后简单地使用 websocket 事件 ping 回页面。很好奇人们如何处理这样的情况。
我建议在您绝对不需要 Web 套接字的地方使用 AJAX。Web 套接字最终会在服务器端产生更多负载(socket.io 将处理后备以防万一 Web 套接字和闪存套接字不可用)。简而言之,在需要维护与客户端的状态/连接的地方使用 Web 套接字。
如果您希望使用 Web 套接字,使用带有 socket.io 的 cookie 将是一种允许您跟踪会话的方法。如果不马上使用 socket.io,你可以发送 req.sessionID(key) 到客户端,将会话信息存储在 Redis/Mongo 等。当尝试连接 socket.io 时,读取 cookie 值并将其发送到服务器 - 您可以在其中获取会话存储信息。如果您使用闪存插槽作为后备之一,则可能会出现问题。
希望这可以帮助。