問題タブ [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.

0 投票する
3 に答える
658 参照

crossbar - WAMP を使用してストリーミング RPC 呼び出しを行うことは可能ですか?

websocket を使用して RPC と Pub/SubにWAMPプロトコルを使用したいと考えています。特に、 crossbar.ioを WAMP サーバーとして使用することに興味があります。

WAMP の仕様を読みましたが、クライアントからの RPC 呼び出しの一部としてデータをストリーミングできるかどうかが明確ではありませんでした。ただし、サーバーからの結果のストリーミングはサポートされているようです。

編集: 単にクライアントとして機能するサーバーではなく、プログレッシブ リクエストと呼ばれるものを指していることを明確にしたいと思います。

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

php - Thruway クライアントから Crossbar ルーターへの WAMP 認証をセットアップするにはどうすればよいですか?

私はこれを機能させるためにサークルを回っています...

状況は次のとおりです。

Thruwayを使用してCrossbar.ioルーター経由で複数のマイクロサービスにリモート プロシージャ コール (RPC) を行う PHP Web アプリがあります。匿名通話は完全に機能していますが、認証を追加したいと考えています。

クロスバーの構成は次のとおりです。

クロスバー サーバーは、ルーターとしてのみセットアップされていることを願っています。すべてのクライアント/ワーカーは他のサーバー上にあります。クロスバー構成、具体的にはこの構成ファイルのこの例に従っています。サンプルと私の構成の間にはいくつかの重要な違いがあります: サンプル サーバーはルーターとして構成され、静的な Web ページも提供します (私のものではありません)。サンプル サーバーには Python コンポーネントが含まれています (私が読んでいる場合)正しく) 認証プロセスにとって重要ではありません。

私の開発環境では、1 つのクライアントに対して認証を機能させようとしています。クライアントコードは次のとおりです。

問題は、「チャレンジ」メッセージがサーバーから送信されないことです。クライアントが接続を試みると、次のデバッグ メッセージが表示されます。

サーバーがクライアントに挑戦するために必要な追加構成を誰か説明できますか?

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

python - "crossbar start" コマンドを使用せずに corssbar を実行する方法

私はクロスバーを理解しようとしており、Django (python) で作成されたブログのデモのようなものを作成したいと考えています。私のデモは正常に動作しますが、理解できません: 「クロスバー スタート」コマンドを使用せずにクロスバー ソリューションを機能させる方法。つまり、Apache サーバーと同じように、クロスバーを切り離したいのです。可能ではないですか?

PS: Debian 8 で Django 1.7、Apache 2.4 を使用しています。

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

php - voryx スルーウェイ 複数の公開

PHPスクリプトからメッセージを発行する必要があります。単一のメッセージを発行できます。しかし、今はループでさまざまなメッセージを公開する必要があります。それを行う適切な方法が見つかりません。これが私が試したことです:

ここで $counter 値をサブスクライバーに公開したいのですが、値は常に 5 です。1. ループの前に接続を開き、ループ内でメッセージを公開する方法はありますかループ?

ありがとう!

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

python - Python デーモンから crossbar.io への公開

crossbar.io を使用して、実行時間の長い Python デーモンに関するリアルタイムの統計を Web 上に表示したいと考えています。表示部分は AutobahnJS で問題なく動いていますが、統計を crossbar.io にポストする部分に苦労しています。私が読んだサンプル コードはすべて twisted または asyncio で実行されますが、私のデーモンは実行されません (実行されません)。純粋なWebSocketの場合、 WAMPではなく、私がやりたいことを正確に行うwebsocket_clientパッケージがあります。同様のライブラリはありますか、それともドキュメントに何か不足していますか?

PubSub の抽象化が好きなので、純粋な WebSocket ではなく crossbar.io を使用しています。多くの追加作業なしで WebSockets に再実装できることはわかっていますが、それは避けたいことです。

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

c# - WampSharp ConnectionEstablished コールバックが呼び出されていません

現在、WAMP プロトコルの WampSharp 実装を試しています。

クライアントがコンソールに接続したときにコンソールにメッセージを出力するコードが必要でした。そこで、ルーターとクライアントを作成しました。しかし、メッセージはコンソールに表示されません。これが私のコードです:

ルーター

クライアント:

これはおそらく WampSharp の問題ではなく C# の問題ですが、念のため、この質問に 2 つの wamp タグを付けました。

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

java - ジャワンパの最大websocktフレームサイズ?

イベント発行時の引数の最大サイズはありますか?

私はこのコード(Java)を使用します:wampClient.publish(token, response.toString());

response.toString()私の場合、長いjson文字列です。約70,000文字あります。response.toString()短い文字列に置き換えると、イベントが期待どおりに発行されるため、イベントが発行されないのではないかと疑っています。

私は Wamp の内部構造についてあまり知りませんし、コードへの最初のデバッグ セッションではあまり洞察が得られませんでした。上で述べたように、長い文字列が問題を引き起こしていると思います。

最小限の実行例: 最小限の実行例を取得するには、 http ://we.tl/a3kj3dzJ7N から Java プロジェクトの例をダウンロードし、IDE にインポートしてください。

demo フォルダには 2 つの .java ファイルがあります。両方Client.javaServer.java 実行/開始すると、それぞれに GUI が表示されます。次に、次の手順を実行します (C = クライアント、S = サーバー)。

メッセージのサイズに応じて、IDE のコンソールに異なる出力が表示されます。メッセージのサイズは、整数変数を介して の137 行で変更できます。上で既に説明したように:が 70000 より小さい場合 (例: 60000)、すべてが期待どおりに機能します。のコンソール出力は次のようになります。Client.javasizesizeClient.java

ただし、整数変数sizeを 70000 (またはそれ以上) に変更すると、出力は次のようになります。

ご覧のとおり、Received イベント ...が欠落しているため、イベントは受信されません。ただし、完了したイベント test.eventがありますが、明らかにデータが欠落しています。

要約すると、上記の例を実行すると、送信された文字列のサイズが 70000 を超えるとイベントが正しく受信されないことがわかります。この問題はnettyに関連している可能性があります。どんな助けでも大歓迎です。たぶん、この問題を解決できる小さな構成です。

EDIT 1:ダウンロード可能な最小限の実行例で質問を更新しました。

EDIT 2:問題の根本を知っていると思います(完全にはわかりませんが、EDIT3を参照してください)。これは、Java の文字列リテラルの許容サイズに関連しています。参照: Java の初期化文字列のサイズ 上記の例では、それを反映できます。サイズ変数が 65535 文字未満の場合は機能しますが、そうでない場合は機能しません。これに対する回避策はありますか?

編集 3 別名ソリューション:開発者が提案したように (ここを参照)、 NettyWampConnectionConfig.java:8の変数DEFAULT_MAX_FRAME_PAYLOAD_LENGTHをより高い値に変更する必要があります。その後、すべてが魅力のように機能します。