問題タブ [primus]

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 に答える
3137 参照

node.js - COOKIES ではなく TOKENS を使用して Express および socket.io で認証する方法。

私はリアルタイム モバイル アプリ (ネイティブ) を構築しています。ユーザー ログイン画面からアプリを起動して次に進むことに興味があります。

バックエンドを構築するには、 Express + primus with socket.io (または sockjs) + Passport.socketio + redis (まだ redis が必要かどうかは 100% わからない) が必要だと考えました。

Node.js プレースホルダー

このステップバイステップのチュートリアルもとても役に立ちました。安全な API を作成するためのステップバイステップです。

私の質問は二重です:

  1. Cookie の代わりに TOKENS を使用するようにこの例を微調整するにはどうすればよいですか (私はブラウザー Web アプリではなくネイティブ モバイル アプリを作成しているため) 、 this に従ってより安全になります
  2. Express を socket.io にバインドする方法 - つまり、socket.io はユーザーが認証されているかどうかをどのように知るのでしょうか?

コメントやアドバイスをお待ちしております。

ありがとうございました。

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

android - ネイティブ Android アプリ用の sockJS クライアントはありますか?

私はソケット サーバーとして SockJS で Primus を使用しています。

ありがとうございました。

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

node.js - Node.js primus websocket クラスタリング

ほとんどの Websocket エンジンを試してみた結果、Primus (リアルタイム フレームワークのユニバーサル ラッパー) を使用して、機能を変更せずに Websocket フレームワークをテストできるようにするのが最善の方法であると結論付けました。

そのプリムスはそれが言うことをしますが、私は自分がスケールしたい状況にいることに気づきました.

Primus には多くのプラグインがあり、そのうちの 2 つは primus-cluster と primus-redis-rooms です。これら 2 つは、多数のノード プロセスがある場合にスケーリングするために Redis pub-sub を使用するものです。私が両方のプラグインで直面した問題は、メッセージを個々のソケット - spark に送信できないことです。つまり、スパークは保存されず、Redis に渡されるため、各プロセスはスパークの合計数を認識します。

誰もこれを実装する方法について考えを持っていますか?

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

node.js - サーバー上のデータを傍受する Primus.io

Express 4 サーバーで primus-emit を使用して Primus.io を使用しています。

アプリケーションの別のモジュールのために、アクティブなユーザーを追跡するために、ハートビートを含む送受信されるすべてのメッセージにフックする方法を見つけようとしています。(これは、Redis ソートセットを使用して行われます)。

spark.on('data')すべてが primus-emit を介して行われるため、何も提供されないため、独自の Primus プラグインまたはこのためのミドルウェアを作成しようと考えていましたが、(packetでプラグイン)、またはreq, res(ミドルウェア コードで) spark、. spark オブジェクトに accountNumber を設定しているので、primus.on('connection').

だから私が探しているのは、spark.accountNumberRedisにプッシュできるようにするためだけに、アクティブなスパークを通過するデータを傍受できるサーバー側のコードです。

PS。たぶん私はこれを間違った方法で行っているので、ヒントをいただければ幸いです。基本的に、システムの別の部分でアクティブなユーザーを認識する必要があり、そのために Redis を使用しています。

ありがとう!!

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

javascript - ActionHero js とカスタム websocket イベント

ActionHero.js の websockets 実装を使用しようとしています。ドキュメントを見ると、チャットを実装する方法は明らかですが、サーバーからクライアントにカスタム イベントを発行し、複雑なリアルタイム アプリを整理する方法がわかりません。primus-emitter プロジェクトの例を見ています: https://github.com/cayasso/primus-emitter

誰か知ってる?ありがとう

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

node.js - サブストリーム書き込み中のノード処理 Primus ソケット切断

コードの実行中に切断されるソケットのサブストリームに書き込む (同期) プロセスがある場合、例外をスローしないようにする最善の方法は何ですか?

(フローからブロックを削除するためにソケットの close/end/etc イベントをリッスンしていますが、これらのイベント ハンドラーはコードが終了するまで起動しません)

私はこれを行う必要があります:

またはtry / catchを使用しますか?

try/catch が高価であることは知っていますが、 clientStream.stream オブジェクトをチェックして存在を確認する方法に関する情報は見つかりませんでした。おそらく、stream.readyState のように廃止されたのでしょうか。

0 投票する
2 に答える
446 参照

express - Primus で Expressjs セッションに書き込む方法

ExpressJs 4 と Primus を使用して、Express セッションを共有できます。

値をセッションに書き込むと{ foo: 'bar' }、標準の http 高速呼び出しから値を取得できません。

出力はundefinedです。理由を説明していただけますか?ありがとう。