如何在sails.js中的SocketIO握手期间修复"此套接字无可用的有效会话"?

aja*_*ybc 6 sockets node.js express socket.io sails.js

我正在使用sails.js为iOS应用程序开发API,并使用websockets进行实时通信.问题是我无法让套接字握手工作.

控制台中显示"此套接字没有可用的有效会话"错误.当我用谷歌搜索了一下后,我才知道我需要设置一个有效的cookie.由于我的客户端不是基于浏览器的Javascript,我无法设置任何cookie.

我甚至设置authorization: falseconfig/sockets.js

这有什么解决方案吗?或者选择Sails JS来完成这项任务是个错误?

顺便说一句,这些是我遇到这个问题的一些链接:

https://github.com/balderdashy/sails/issues/1062 https://github.com/balderdashy/sails/issues/995 https://github.com/balderdashy/sails/issues/1003

Cyr*_*PON 0

两种解决方案

  1. 由于我的客户端不是基于浏览器的 Javascript,我无法设置任何 cookie。

    你肯定可以“设置cookie”,你只需要手动设置:

    • 拦截Set-Cookie报头
    • 解析它以检索sails.sid

    稍后,当你发生时,你会提出一个请求:

    • 将检索到的内容传递sails.sid到您的请求Cookie标头

    您甚至可以找到一个为您制作此内容的图书馆。

  2. 只需通过 官方客户端库专门与 sails 服务器进行交互,它就会为您处理所有逻辑。(使用辅助方法通过其套接字发出“类似 REST”的请求,不要在外部发出真正的 http 请求)