如何解决在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
-
由于我的客户端不是基于浏览器的Javascript,我不能设置任何cookie。
你肯定可以“设置一个cookie”,你只需要手动:
- 截取
Set-Cookie
头 - parsing它以检索
sails.sid
后来,当你发生你的请求:
- 将检索到的
sails.sid
传递给请求的Cookie
头
你甚至可以find一个图书馆 ,为你做这个。
- 截取
-
只是通过 官方的客户端库保持与sails服务器的交互,它将为您处理所有的逻辑。 (通过使用helper方法的套接字来做“REST-like”请求,不要在外面发出真正的http请求)