2

Sailsjs を実行している node.js サーバーから独立した angularjs アプリケーションを作成しようとしています。

このアプリケーションに socket.io を使用したいのですが、サーバーから socket.io.js ファイルを取得する必要があるようです。

私のクライアントでは、次を使用して、Index.html ファイルに js ファイルをロードします。

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

ただし、sails はハンドシェイク エラーのためにファイルを配信しません。

とにかくサーバーからファイルを取得する方法はありますか?

ありがとう

4

3 に答える 3

0

簡単な方法は、JavaScript クライアント SDK を使用して、ソケット経由で Sails と通信することです。

github の公式プロジェクトは次のとおりです: https://github.com/balderdashy/sails.io.js

于 2015-04-19T16:56:36.543 に答える
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

于 2013-08-23T15:58:32.107 に答える
0

node.js サーバーが必要ない場合は、socket.io.js ファイルを Web サーバーにコピーして、そこから取得してみませんか?

于 2013-08-26T08:07:08.907 に答える