問題タブ [crossbar]
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 - crossbar.io を使用して新しいゲスト ワーカーを動的に追加する
watch ディレクトリで新しいファイルが利用可能になったときに、crossbar.io がゲスト ワーカーを動的に追加できるかどうかを考えていました。そして、crossbar.io のドキュメントで答えが見つかりませんでした。
でアドバタイズしてCrossbar.io has a multi-node and multi-process architecture.
いますが、ゲスト ワーカーを追加するときにクロスバー インスタンス全体を再起動する必要があるかどうかの情報が見つかりませんでした。
ゲスト ワーカーの構成は次のようになります。
ディレクトリ「../node」に変更があると、(クロスバーインスタンスの実行中に)ワーカーを再起動するようです。しかし、まったく新しいワーカーを追加するのはどうでしょうか。
クロスバー インスタンスを再起動する必要がありますか、またはインスタンスの実行中に新しいワーカーをロードする可能性はありますか?
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) で利用可能な高度なプロファイル機能を構成する方法を説明していただけますか?
イベント履歴機能について詳しく教えてください。そして、それを構成する方法は?
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 ライブラリを使用するには、独自のサーバー コードを「別の作業」と見なすことが重要です。
それは...ですか?
autobahn - クロスバー ゲスト ワーカーをログに記録/デバッグする方法は?
ゲスト ワーカーからの出力/ログをキャプチャしたり、デバッグしたりするにはどうすればよいですか? ワーカーは通常の Python3 Autobahn WAMP コンポーネントです。私が書いたものはどこにprint
も見つかりません。または、どこを見ればよいかわかりません。ゲストがエラーで終了した場合のみ、クロスバー ログに何かが出力されます。構成は次のとおりです。raise
stderr
stdout
とオプションはstderr
まったく違いがないようです。
バージョン:
- クロスバー.io: 0.10.1
- アウトバーン|Python: 0.9.5
- ワーカー: autobahn.asyncio.wamp.ApplicationSession
crossbar - クロスバー サブスクリプション / ステート ストアはどこにありますか?
サブスクリプションがクロスバーによって作成および維持されると、サブスクリプションはどこに保存されますか? ソース コードをざっと見てみると、それらはすべてローカル プロセス メモリに保存されていると思います。そうですか?メモリに格納されている場合の水平スケール アウト モデルとは何ですか? 接続は特定のノードに固定されていると予想されますか? 接続が切断されて再確立された場合、またはサーバー ノードがオフラインになった場合はどうなりますか? それらの接続はすべての状態 (サブスクリプション情報) を失いますか?
websocket - autobahn.ws にサブスクライバーをリストすることは可能ですか?
現在、ユーザーの実行中の* nixアプリケーションログ(ゲームサーバー)を表示するWebアプリケーションでコンソールを開発しています.1人のユーザーがトピック名を推測して他のユーザーコンソールにアクセスできないようにしたいだけです.
私はランダムに生成された 16 文字の 0 ~ 9、AZ、az の文字列を使用しており、ページが更新されるたびに変更され、トピック名ごとに 30 分間有効です。
クロスバー構成の webapp のすべてのユーザーは、任意のトピックをサブスクライブするためのアクセス権を持っています。各ユーザーが自分のコンソール トピックのみをサブスクライブするように設定したかったのですが、クロスバーの動的構成はまだ実装されていないと思います。
この実装はユーザーのプライバシーにとって十分ですか、それともサブスクライバーが他のサブスクライバーをリストする可能性があり、一意のトピック名を使用した私の作業は無意味ですか?
crossbar - NGiNX プロキシの背後にある WAMP router/crossbar.io?
NGiNX リバース プロキシの背後に crossbar.io ルーター/WAMP ルーターをセットアップするにはどうすればよいですか?