問題タブ [autobahn]

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

callback - アウトバーンの公開メソッドのコールバック?

AutobahnJS の publish メソッドにコールバックが定義されていないのはなぜですか? 何かを発行しようとするクライアントにとって、発行の呼び出しが成功したかどうかを知り、それに応じて反応することは役立つと思います。pub/sub をサポートする他のフレームワークには、公開のためのそのようなコールバックがあるのだろうか。

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

android - AutoBahn Websocket を接続できません

Android 用に開発された websocket クライアント ライブラリのいくつかを試しています。現在、AutoBahn ライブラリをいじっていますが、「サンプル」クライアントをサーバーに接続できないようです。次のコードを使用しています。

Wireshark を使用してスニッフィングすると、tcp 接続が確立されていることがわかります。HTTP Get が送信されていることがわかります。しかし、サーバーがアップグレード メッセージで応答しません。AutoBahn 接続メッセージ (HTTP GET ヘッダー内) に何らかの理由で origin フィールドが含まれていないことに気付きました。接続した別のライブラリを試してみましたが、HTTP GET に origin フィールドがありました。これは既知の問題ですか、それとも AuotBahn でサポートされていないだけですか?

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

python - さまざまな関数を使用して単一のアウトバーン WebSocketProtocol でメッセージを処理する

私は websockets にかなり慣れていないので、autobahn と twisted で python を使用して複数のソケットに接続し、各ソケットからのデータに対してさまざまなアクションを実行しようとしています。

最終的に、3 ~ 4 個の異なる処理機能と、合計で最大 10 ~ 15 個の Websocket 接続を持つことになります。

戻ってくるデータを分析するために使用する関数をプロトコルに渡したいと思います。私が抱えている問題は、WebSocketClientProtocol の「onMessage()」メソッドの関数にアクセスする唯一の方法であり、実際のオブジェクトではなくクラスに設定されているため、1 つのデータ処理関数で立ち往生しています。すべての WebSocket 用。

以下のコード例。

私の現在の解決策は、使用したいデータ処理関数ごとに 1 つのクラスを作成することです。だから、私が持っているmethod1について

使用したい各データ処理方法の同様のクラス。

単一のクラスを再利用できる、より洗練されたソリューションを見つけたいと思っていました。

ありがとう、

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

python - Autobahn WebSocket クライアントを RPC 呼び出しに登録することは可能ですか?

autobahn、python、および WAMP を使用して、WebSocketクライアントが RPC 呼び出しに登録することは可能ですか? 基本的に、同時にクライアントとサーバーの両方として機能しますか?

たとえば、「チャット クライアント」は既知の WS URI/ポートで「チャット サーバー」に接続し、セッションを確立します。クライアントは、この Web ソケットを介して通常どおりメッセージを送信し、応答を受信します。次に、定期的に、サーバーは同じWeb ソケットを介して、特定の質問に対する回答を要求するクライアントに対して (WAMP を介して) ランダムな RPC 呼び出しを発行します。

クライアントは、疑似コードで次のようなことを行います。

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

python - Twisted/Autobahn Websockets を使用して「対話型」クライアントを作成する

Twisted の非同期設計で何かが欠けているのかもしれませんが、sendMessage() メソッドを「外部から」呼び出す方法が見つからないようです。つまり、Twisted/AutobahnWebsockets のコールバック メソッド (onOpen や onMessage() でサーバーからデータを受信するときなど) だけでメッセージを送信することはありません。

もちろん、スレッドを起動して my_protocol_instance.sendMessage("hello") を呼び出すこともできますが、それでは非同期設計のすべての目的が無効になりますよね?

具体的な例では、接続を開いて管理するトップ ラッパー クラスが必要であり、必要なときはいつでも my_class.send_my_toplevel_message(msg) を呼び出します。どうすればこれを実装できますか?

私の説明が明確であることを願っています。

ありがとう

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

python - パブリッシュ & サブスクライブ モデルでサブスクライバーを制限するクリーンな方法

autobahn を使用したパブリッシュ & サブスクライブ モデルでは、特定の のサブスクライバーの数を制限したいと考えてい@exportSub(...)ます。チャンネル登録者数はどうやってわかりますか?

より)

とメソッドをWampServerFactoryオーバーライドし、内部配列変数を使用して、おそらく独自の を使用してこれを行うことができます...しかし、よりクリーンな方法があるかどうか知りたいです...onClientSubscribedonClientUnsubscribed

コードはここにあります。

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

python - autobahn python での自動再接続

WampClientProtocolautobahn python では、最初の接続が失敗した場合、サブクラスでオーバーライドできるコールバックを通知する方法がないようです。をオーバーライドしようclientConnectionFailedとしましたが、接続が失敗したときに呼び出されませんでした。

接続が失敗したときに得られる唯一の出力は

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

python - Websocket Autobahn Testsuite Unhandled エラー (Windows および Ubuntu)

Windows 7 と Ubuntu にAutobahn Testsuite 0.5.5をインストールしました。実行するたびに、同じエラーが発生しました。

私のセットアップ:

  • パイソン 2.7.5
  • セットアップツール 1.1.6
  • Python 2.7 用の Twisted 13.1.0
  • アウトバーンPython 0.6.3

何が原因でしょうか?よろしく、アダム

Ubuntu 12.04

ウィンドウズ7

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

javascript - autobahn python で json を送信する

sendMessage を使用して url から json コンテンツをクライアントに送信しようとしています。

エラーが発生します

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

websocket - Autobahn Websocket サーバーの sendMessage に遅延なくデータを送信させるにはどうすればよいですか?

Websocket を使用してクライアント/サーバー アプリを作成しようとしています。Autobahn websocket を通信媒体として使用することを考えています。クライアントはサーバーにコマンドを送信してタスクを実行し、サーバーからの一連の進行状況の応答を待ちます。サーバーでは、クライアントからコマンドを受け取った後、一連のタスクを実行してから、クライアントに self.sendMessage ("percent completed") % (percent) を呼び出します。私が遭遇した問題は、sendMessage がすべてのメッセージをバッファリングし、最後に一度に送信したように見えることです。この問題を解決する方法について何か考えはありますか? 以下は、websocket/example/echo/server.py のコード スニペットです。

私は、クライアントがサーバーから 2 秒ごとにメッセージを受信することを期待しています。代わりに、3 つのメッセージすべてを一度に取得します。