我如何修复此套接字无法提供有效会话'在sails.js的SocketIO握手期间?

时间:2014-03-22 12:59:57

标签: node.js sockets express socket.io sails.js

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

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

我甚至在authorization: false

中设置config/sockets.js

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

BTW这些是我在这个问题上遇到的一些链接:

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

1 个答案:

答案 0 :(得分:0)

两种解决方案

  1.   

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

    你肯定可以设置一个cookie",你只需要手动制作:

    • 拦截Set-Cookie标题
    • 将其解析为sails.sid

    稍后,当您发生请求时:

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

    您甚至可以找到适合您的library

  2. 只是专门与sails服务器通过 the official client library进行交互,它将为您处理所有逻辑。 (make"类似REST的"请求通过它的辅助方法的套接字,不要在外面发出真正的http请求)