問題タブ [sails.io.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
875 参照

node.js - Sailsjs エラー: onlyAllowOneResponse で複数回応答に書き込むことはできません

Sails コントローラーは ajax リクエストに対して適切な応答を返しますが、io.socket 経由で呼び出された場合は機能しません。

ソケット要求:

例外:

ブラウザでのソケット応答:

Sailsjs のドキュメントに従って、WebSocket のリクエスト/レスポンスは自動的に処理されます。

ここで何か不足していますか?ソケット要求に対して別の方法で応答を送信する必要がありますか?

0 投票する
0 に答える
60 参照

node.js - 100秒ごとにセイルを永遠に再起動し続ける

Sails_mysql_live_connect を使用して、sails js(v0.11.2) と mysql (5.6.22) を使用して Web ソケット ベースのアプリケーションを構築しました。

GC(ガベージコレクター)が未使用の開いている接続を閉じるために、mysqlのwait_timeoutを100秒に設定しました。

wait_timeout が原因で、mysql は 100 秒後に db への Web ソケット接続を閉じるようになり、db 接続が閉じられたときにセイルを永久に再起動します。

mysqlが接続を閉じるたびに、セイルで次のエラーが発生します mysql が接続を閉じたときにセイルでエラーを受け取り、セイルを永久に再起動する

wait_timeout を増やさずにこれを回避する方法はありますか?

0 投票する
1 に答える
318 参照

sails.js - Sails JS、リクエストパラメータをモデルにマップする方法は?

json データを request.params からコントローラー クラスのモデルにマップしたいと考えています。モデルをデータベースに保存する前に、コントローラーでいくつかのアクションがあります。

手動でこれを行わずにjsonデータをモデルオブジェクトに自動マップするソリューションはありますか?

var メール = req.body.email; var phone = req.body.phone;

0 投票する
1 に答える
37 参照

node.js - ソケットは、モデル自体にサブスクライブしているすべてのユーザーを更新し、更新されたユーザーを期待します

ユーザーにチャットユーザーをサブスクライブさせ、ユーザーはソケットを介してオンラインまたはオフラインにすることができます。

ユーザーの 1 人は管理者の役割を持っており、HTTP 要求 User.update を通じてユーザーを強制的にオンラインまたはオフラインにすることができます。また、購読者に警告するために User.publishUpdate を追加しました。

問題は、マネージャーがユーザーをオフラインからオンライン状態にすると、更新したユーザー自身を期待して他のユーザーにユーザーがオンラインであるように見え、セイルで autoWatch を有効にすると問題が消えることです。

ここにソケットコード:

ここでユーザー更新:

0 投票する
1 に答える
152 参照

angularjs - セイルで ejs の代わりに HTML を使用する

私はセイルフレームワークの初心者で、それに取り組み始めたところ、すべてがejsにあることがわかりました。HTMLに変換したところ、うまくいきませんでした。

ejs を使用せずに AngularJS を使用して HTML でクライアント側を記述する方法、または完全に削除できない場合は最小限の ejs を使用する方法。

クライアント側のルートをどこに記述し、その中でどのように使用ui-routerするのですか?

0 投票する
0 に答える
792 参照

nginx - nginxを介したsails.js socket.ioは、多くの「アップストリームタイムアウト」を示しています

スティッキー セッションを使用して、nginx プロキシの背後でいくつかの Sails.js バックエンド インスタンスを実行しています。

nginx error.log に、sails.js /socket.io/ URL のタイムアウトに関する多くのメッセージが表示され続けます。

すべてのクライアントで発生するわけではありませんが、そのようなメッセージの数は重要です。そして、sails.js は関連するエラーを表示しません。

これらの問題の性質をどのように調査すればよいですか?

これが私がこれまでに試したことです(そしてそれは役に立ちませんでした):

  • これまでのところ、socket.io クライアントを最新バージョン (1.3.7) にアップグレードします。
  • nginx で /socket.io/ リクエストのキャッシュを明示的にオフにする

関連する構成ファイルは次のとおりです。

帆sockets.js:

nginx:

0 投票する
1 に答える
90 参照

node.js - ソケット接続が再度初期化されないようにする

最初のメッセージを「こんにちは」として送信するチャットアプリを作成しようとしています。しかし、いくつかの理由 (不安定なインターネット接続が 1 つかもしれません) により、ソケットが複数回初期化され、「Hi. there」メッセージが複数回送信されます。以下はコードです。複数のメッセージを送信するためにアプリを停止するには?

0 投票する
1 に答える
1406 参照

node.js - 渡されたものとは異なるURLに接続するSailsソケットio

実稼働環境で、クライアント URL ' https://something.com/ ' から ' https://something.com/api/ 'でセイルのソケット クライアントに接続しようとすると、404 が返されます

ローカル マシンのセイルでソケット接続を確立すると、動作します。

私のローカル構成。

クライアントホスト

API ホスト

HTML

JS

私のプロダクション構成

クライアントホスト

API ホスト

JS

autoConnect が反抗的に false に設定されていること、および connect() 関数を介して唯一の接続が行われていることを確認しました。connect() 関数に渡す文字列に関係なく (本番のみ)、クライアント URL ( https://something.com/ ) を想定し、本番 URL ( https: //something.com/api/ )。