如何使用sails.js从服务器获取socket.io.js文件

时间:2013-08-23 15:27:52

标签: angularjs socket.io sails.js

我正在尝试创建一个angularjs应用程序,独立于运行sailsjs的node.js服务器。

我想将socket.io用于此应用程序,显然我需要从服务器获取socket.io.js文件。

在我的客户端中,我使用以下命令在我的Index.html文件中加载js文件:

<script src="http://localhost:1337/socket.io/socket.io.js"></script>

但是,由于握手错误,风帆不会传送文件。

无论如何从服务器获取文件?

由于

3 个答案:

答案 0 :(得分:0)

此处解释了握手错误:https://github.com/balderdashy/sails/wiki/sockets#500-error-handshake-error-returned-from-socketio-request

您没有与服务器的会话,所以当包含socket.io.js时,没有会话cookie供它使用,握手失败。您需要事先向服务器发出成功请求以打开会话。这需要是一个CORS请求,因为您的服务器及其服务器位于不同的域上。需要使用此处说明的方法在服务器端启用CORS:https://github.com/balderdashy/sails-wiki/blob/0.9/config.routes.md#cors-cross-origin-resource-sharing

答案 1 :(得分:0)

如果您不需要node.js服务器,为什么不将socket.io.js文件复制到Web服务器,并从那里获取它?

答案 2 :(得分:0)

简单的方法是通过套接字与Sails通信的Javascript Client SDK。

以下是github上的官方项目:https://github.com/balderdashy/sails.io.js