問題タブ [wamp-protocol]
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.
autobahn - Crossbar.io - ユーザーが 2 つのトピックのみにサブスクライブするように制限する
Crossbar.io のドキュメントで、特定のトピックにのみ発行するようにロールを設定できることを見てきました。しかし、パターン ベースのマッチングではなく、完全に一致する 2 つのトピックを公開するロールを設定するにはどうすればよいでしょうか。
crossbar - Is it possible getting the no of subscribers in Crossbar.io router
I am using Crossbar (WAMP Protocol) router for my node.js application.As router is independent to our application I am not able to do the below operations with Crossbar. Is there any official API available to achieve the below functionality.
- Disconnection notification of a subscriber for a specific topic?
- List of subscribers for a specific topic?
- New subscription notification for a specific topic when a new subscriber subscribes it.
Thanks in advance.
javascript - ダイナミック チャット ルーム用に Autobahn(crossbar.io) を構成する方法は?
私は crossbar.io とその仕組みが大好きです (個人的に)。しかし、Autobahn(Crossbar.io) を使用して典型的な動的チャット アプリケーションのアーキテクチャをセットアップする方法を知りたいです。
ここでの動的チャットとは、URL ごとに作成された個別のチャット ルームを意味します。
例: 、トピック"com.myapp.chat123"http://www.myapplication.com/chat?roomId=123
にサブスクライブするチャット ルームを作成します。
http://www.myapplication.com/chat?roomId=456
、トピック"com.myapp.chat456"にサブスクライブするチャット ルームを作成します。
Autobahn にはメッセージの永続性がないため、後で参照できるようにチャット メッセージをデータベースに保存する必要があります。
今私の質問は次のとおりです。
各チャット ルームが個別のトピックを使用する場合、サーバーでメッセージを購読するにはどうすればよいでしょうか (現在、パターンを使用して購読することはできないため)。
部屋ごとに個別のトピックを使用するため、Crossbar.io で認証と承認を行う方法を教えてください。
hereに記載されているように、機能を設定するための Javascript ドキュメントを見つけることができませんでした。どこで見つけられますか?
この SO answerでは、 crossbar.io がRouterでセッションに参加または脱退するためのメタイベントを提供することが言及されています。Router に参加または脱退する代わりに、ユーザーが特定のトピックを購読または購読解除したことを知る方法はありますか?
現在のバージョンの Crossbar.io (Javascript、ブラウザ、または Node.js) で利用可能な高度なプロファイル機能を構成する方法を説明していただけますか?
イベント履歴機能について詳しく教えてください。そして、それを構成する方法は?
rpc - cboden/rachet RPC 実装を作成するには?
私は websockets を学んでいて、私のサーバーとしてcboden/ratchet のサンプル プッシュ統合を使用し、ブラウザーに autobahnjs を使用して sub/pub を使用する方法を学びました。私の質問は、ラチェットまたはアウトバーンが rpc をサポートしていることです。
ソースまたは例があれば、それは非常に高く評価されます。乾杯!
licensing - クロスバリオのライセンス条件の明確化
[2015 年 1 月 29 日更新]:問題のシナリオの詳細を追加しました。
確認のために: ライセンス条件は、商用アプリケーションでクロスバー (crossbar.io、wamp、...) スタックを配布および展開することを許可していますか?
とすれば
- Web ベースの商用アプリケーションがあり、複数のサーバー モジュールで構成されています。
crossbar.io は、サーバー プロセスと Web クライアント間の通信に使用できます。 - コードをオープンソースにする予定はありません
- crossbar.io は変更しません
- しかし、製品と共に crossbar.io をデプロイし、セットアップ ツールでインストールしたいと考えています。
- もちろん、クレジットを表示し、ライセンス ファイルのローカル コピーへのリンクを、たとえば [about] ボックスに表示します。
はい、AGPL 3.0を確認しましたが、私の質問に対する答えが単純に「はい」か「いいえ」かはわかりません。
また、mongodbがそれを使用していることも認識しています。mongodb ライセンスから:
上記を実用化するために、データベースを使用するクライアント アプリケーションは別の作業にすることをお約束します。これを容易にするために、mongodb.org がサポートするドライバー (アプリケーションとリンクする部分) は、コピーレフト フリーの Apache ライセンスの下でリリースされます。
注: 上記の約束を主張する署名付きの手紙が必要な場合は、MongoDB, Inc. までご連絡ください。
私の理解が正しければ、私たちのシナリオで crossbar.io ライブラリを使用するには、独自のサーバー コードを「別の作業」と見なすことが重要です。
それは...ですか?
python - アウトバーン アプリケーションを持つ 2 つのスレッドを持つ Python アプリケーションを作成する方法
問題の解決策が見つかりませんでした。2 つのスレッドを持つ Python アプリケーションを作成する必要があります。それぞれのスレッドは、autobahn ライブラリを使用して WAMP ルーターに接続されています。
私の実験のコードを書いてください:
この python アプリケーションを起動すると、thread1 のみが開始され、後でアプリケーションを強制終了すると (ctrl-c)、次のエラー メッセージが表示されます。
機能を備えた1つのアプリケーションに実装する必要があり、autobahn pythonライブラリを使用してWAMPルーターと通信するためのシステムも必要です。
つまり、WAMP ルーターと通信できるソリューションが必要ですが、同時にこのアプリケーションをアウトバーン部分でブロックする必要はありません (解決策は、2 つのスレッドを開始し、1 つのスレッドがいくつかの機能を管理することだと思います)。 2 番目のスレッドはアウトバーン部分を管理します)。
前に提案したスキーマには別の問題があります。WAMP ルーターの特定のトピックで、「アウトバーン スレッドなし」のアプリケーション部分からメッセージを送信する必要があります。この機能は、特定の関数を使用して呼び出す必要があります。他の機能をブロックすることなく。
私はすべての詳細を与えたことを願っています。
返信ありがとうございます
- - - - - - - - - - - - - - - - 編集 - - - - - - - - - ----------------
いくつかの調査の後、websocket プロトコルに必要なものを実装しました。コードは次のとおりです。
前のコードは正常に動作しますが、これを変換して、Websocket に組み込まれた WAMP プロトコルで動作するようにする必要があります。
誰も私が解決する方法を知っていますか?
crossbar - クロスバー サブスクリプション / ステート ストアはどこにありますか?
サブスクリプションがクロスバーによって作成および維持されると、サブスクリプションはどこに保存されますか? ソース コードをざっと見てみると、それらはすべてローカル プロセス メモリに保存されていると思います。そうですか?メモリに格納されている場合の水平スケール アウト モデルとは何ですか? 接続は特定のノードに固定されていると予想されますか? 接続が切断されて再確立された場合、またはサーバー ノードがオフラインになった場合はどうなりますか? それらの接続はすべての状態 (サブスクリプション情報) を失いますか?
websocket - autobahn.ws にサブスクライバーをリストすることは可能ですか?
現在、ユーザーの実行中の* nixアプリケーションログ(ゲームサーバー)を表示するWebアプリケーションでコンソールを開発しています.1人のユーザーがトピック名を推測して他のユーザーコンソールにアクセスできないようにしたいだけです.
私はランダムに生成された 16 文字の 0 ~ 9、AZ、az の文字列を使用しており、ページが更新されるたびに変更され、トピック名ごとに 30 分間有効です。
クロスバー構成の webapp のすべてのユーザーは、任意のトピックをサブスクライブするためのアクセス権を持っています。各ユーザーが自分のコンソール トピックのみをサブスクライブするように設定したかったのですが、クロスバーの動的構成はまだ実装されていないと思います。
この実装はユーザーのプライバシーにとって十分ですか、それともサブスクライバーが他のサブスクライバーをリストする可能性があり、一意のトピック名を使用した私の作業は無意味ですか?
crossbar - NGiNX プロキシの背後にある WAMP router/crossbar.io?
NGiNX リバース プロキシの背後に crossbar.io ルーター/WAMP ルーターをセットアップするにはどうすればよいですか?