問題タブ [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.
node.js - Sailsjs エラー: onlyAllowOneResponse で複数回応答に書き込むことはできません
Sails コントローラーは ajax リクエストに対して適切な応答を返しますが、io.socket 経由で呼び出された場合は機能しません。
ソケット要求:
例外:
ブラウザでのソケット応答:
Sailsjs のドキュメントに従って、WebSocket のリクエスト/レスポンスは自動的に処理されます。
ここで何か不足していますか?ソケット要求に対して別の方法で応答を送信する必要がありますか?
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が接続を閉じるたびに、セイルで次のエラーが発生します
wait_timeout を増やさずにこれを回避する方法はありますか?
sails.js - Sails JS、リクエストパラメータをモデルにマップする方法は?
json データを request.params からコントローラー クラスのモデルにマップしたいと考えています。モデルをデータベースに保存する前に、コントローラーでいくつかのアクションがあります。
手動でこれを行わずにjsonデータをモデルオブジェクトに自動マップするソリューションはありますか?
var メール = req.body.email; var phone = req.body.phone;
node.js - ソケットは、モデル自体にサブスクライブしているすべてのユーザーを更新し、更新されたユーザーを期待します
ユーザーにチャットユーザーをサブスクライブさせ、ユーザーはソケットを介してオンラインまたはオフラインにすることができます。
ユーザーの 1 人は管理者の役割を持っており、HTTP 要求 User.update を通じてユーザーを強制的にオンラインまたはオフラインにすることができます。また、購読者に警告するために User.publishUpdate を追加しました。
問題は、マネージャーがユーザーをオフラインからオンライン状態にすると、更新したユーザー自身を期待して他のユーザーにユーザーがオンラインであるように見え、セイルで autoWatch を有効にすると問題が消えることです。
ここにソケットコード:
ここでユーザー更新:
angularjs - セイルで ejs の代わりに HTML を使用する
私はセイルフレームワークの初心者で、それに取り組み始めたところ、すべてがejsにあることがわかりました。HTMLに変換したところ、うまくいきませんでした。
ejs を使用せずに AngularJS を使用して HTML でクライアント側を記述する方法、または完全に削除できない場合は最小限の ejs を使用する方法。
クライアント側のルートをどこに記述し、その中でどのように使用ui-router
するのですか?
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:
node.js - ソケット接続が再度初期化されないようにする
最初のメッセージを「こんにちは」として送信するチャットアプリを作成しようとしています。しかし、いくつかの理由 (不安定なインターネット接続が 1 つかもしれません) により、ソケットが複数回初期化され、「Hi. there」メッセージが複数回送信されます。以下はコードです。複数のメッセージを送信するためにアプリを停止するには?
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/ )。