如何解决在sails.js的SocketIO握手过程中没有可用的有效会话?

我正在使用sails.js开发一个iOS应用程序的API,并使用websockets进行实时通信。 问题是,我不能让套接字握手工作。

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

我甚至在config/sockets.js设置了authorization: false

有没有解决这个问题? 还是selectSails JS这个任务是一个错误?

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

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

两个解决scheme

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

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

    • 截取Set-Cookie
    • parsing它以检索sails.sid

    后来,当你发生你的请求:

    • 将检索到的sails.sid传递给请求的Cookie

    你甚至可以find一个图书馆 ,为你做这个。

  2. 只是通过 官方的客户端库保持与sails服务器的交互,它将为您处理所有的逻辑。 (通过使用helper方法的套接字来做“REST-like”请求,不要在外面发出真正的http请求)