問題タブ [publish-subscribe]

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

routing - Apache CamelはXMPPプレゼンス/pubsubパケットをXMPPエンドポイントに送信できますか?

JMSトピックにパブリッシュされた更新を受信し、それをXMPPパケット(PresenceパケットまたはPubSubパケット)に変換して、XMPPエンドポイントにルーティングする必要があります。

私はActiveMQをJMSプロバイダーとして使用し、ApacheCamelをルーティングエンジンとして使用しています。以下に、Camelでの私のルートを示します(簡単にするために、jmsトピックの代わりにsystem.inから読み取ります)。

user1 @ banl080161は、system.inから指定されたステータスのカスタムプレゼンスパケットを送信できる必要があるという考えです。私はsystem.inから読み取り、プレゼンスパケットを作成し、このパケットを交換本体に設定して、user1@banl080161に代わってこのプレゼンスを送信しています。

問題: XMPPサーバーに何も送信されません。PSIを使用してuser1 @ banl080161からのパケットを確認し、user1 @ banl080161は確実にオンラインになりますが、カスタムプレゼンスメッセージは受信されません。

このようなことをApacheCamelで行うことは可能ですか?

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

java - Javaでのpubsubの適切な実装を教えていただけますか

rabbitmqの実装は大いに役立ちます。10倍

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

rest - ブロッキング REST リクエストを使用してパブリッシュ/サブスクライブを実装する

私は最近、RESTful Web サービスを使用して電話イベント (回線呼び出し、内線応答、通話クリアなど) を利用できるようにしたい電話システム ベンダーとの統合の実現可能性を調査するよう依頼されました。

REST はリクエスト/レスポンス プロトコルであり、パブリッシュ/サブスクライブを行っていることを指摘しました。彼らが提案していた解決策は、ブロックする HTTP REST リクエストを作成し、イベントが利用可能になった場合 (またはタイムアウトした場合) に最終的に応答することでした。

いずれにせよ、次のイベントを取得するために別のリクエストが行われ、それが無限に繰り返されます。

この考えにはうんざりしましたが、iPhone の「プッシュ」電子メールがこのように動作することは確かでした。

これは REST の合理的な使用法ですか?

0 投票する
4 に答える
4468 参照

c# - インターネットを介したパブリッシュ/サブスクライブ通信の実装方法

サーバーでホストされている.Netサービスと、インターネット経由でこのサーバーに接続している.Netクライアントがあります。

クライアントがサービスのイベントをサブスクライブし、データが利用可能になったときにデータをプッシュできるパブリッシュサブスクライブモデルを実装したいと思います。別の方法は、クライアントにデータを求めてサーバーをポーリングさせることですが、これは必要なものに対して遅すぎる可能性があります。したがって、パブリッシュ/サブスクライブタイプの通信が必要です。

WCFバインディングWSDualHttpBindingでこれが可能になることは理解していますが、欠点があります。「ProgrammingWCFServices」の著者であるJuvalLowyによると、

... WSDualHttpBindingは、サービスをクライアントから分離するさまざまな通信バリアをトンネリングすることは事実上不可能であり、特定のWebサーバーマシンを見つける必要があるため、ほとんど使用できません。

これは、WSDualHttpBindingで動作するには、サーバーがコールバックするために、クライアントが(必要なルーター構成とともに)マシンのポートを開く必要があることを意味すると解釈しました(間違っている場合は訂正してください)。これが事実である場合、WSDualHttpBindingを使用することは私にとってオプションではありません。WindowsAzureの使用もオプションではありません。

したがって、私の質問の核心は、クライアントマシンのポートを開く必要なしに、インターネットを介してパブリッシュ/サブスクライブ/コールバックタイプの通信を実現するにはどうすればよいかということです。オープンスタンダードは問題ありませんが、クライアントとサーバーはどちらも.Netであるため不要であり、WindowsAzureはオプションではありません。

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

xmpp - pubsub ペイロードを DB に保存する方法

私は XMPP pubsub を使用しています。すべて正常に動作しています。ユーザーはノードを作成でき、関心のあるユーザーはそのノードをサブスクライブできます。しかし、公開アクションを DB に保存したいと考えています。私のアプリケーションでは、チャット、フィードなどの多くのことが pubsub によって処理されるためです。ページの更新時にチャットを維持したいので、舞台裏でDBに保存するopenfireプラグインを探しています。MUC(マルチユーザーチャット)の場合、openfireがチャットを保存するように、手動でajaxリクエストを送信したくありません。公開アイテムをログに記録する方法はありますか。

アップデート:

フォームの構成に問題があり、デフォルトで項目の永続化が false に設定されていました。そのため、提案どおりにノードを構成しました。しかし、ページの更新で問題が発生しました。例を挙げて説明します。私のアプリケーションでは、ユーザー A がログインしてノードを作成し、作成が成功するとユーザー B に要求を送信します。ユーザー B は、ユーザー A によって作成されたノードにサブスクライブします。ユーザーがページを更新すると、タイプ get の IQ スタンザを送信します。上記のような見逃したイベントをすべて取得しますが、エラー 400 subid-required が発生します。

それに応じて、私は得ています:

だから、私が間違っているところを助けることができます。 node がサブスクリプション ID を指定していない場合、サービスはサブスクライバーにエラーを返す必要があります。つまり、同じノードに再度サブスクライブしていることを意味しますか? それが事実かどうかを確認しましたが、購読は1回だけです。そのため、どこが間違っているのかを把握しています.

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

c# - .NET Remoting Fatal problem :Exception を削除する方法

.NET Remoting を介して Publisher/Subscriber パターンを実装しています。パブリッシャーは、その URL で受信リクエストを待機しています。その側では、リモート環境は適切に構成され、まったく問題はありません。

サブスクライバーの側からパブリッシャーにいくつかのサブスクリプションを作成すると、サブスクライバーがたむろします。つまり、プログラムがハングし、コンソールに何も表示されず、消えてしまいました。ここでも例外ではありません。パブリッシャーを切断すると、処理が再開されて追跡され、スタック トレースで例外がスローされます。

これがスタックトレースです..

よろしくウスマン

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

nservicebus - 自身のパブリッシュされたメッセージをサブスクライブする NServiceBus ホスト

使用した NServiceBus のバージョン: 2.0.0.1145

質問:

NServiceBus ホストを構成して、自身の公開メッセージを消費 (サブスクライブ) することはできますか?

答え:

可能だと思われますが、次の構成では、サブスクリプションを SubscriptionStorage に挿入しようとしているときに、トランザクションのデッドロック例外が発生します。DbSubscriptionStorage と複数の「NumberOfWorkerThreads」を使用すると発生します。

エラー:

Could not execute command:
INSERT INTO Subscription (SubscriberEndpoint, MessageType) VALUES (@p0, @p1)
System.Data.SqlClinet.SqlException:
Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

その後、NServiceBus は切断を試みますが、まだ進行中のトランザクションがあり、UnhandledException をスローするため失敗します。

再現方法:

ここに私のApp.Configがあります:

私のバス構成:

サブスクリプションとサガ データベースの両方の dbProperties は次のとおりです。

NumberOfWorkerThreads を 1 より大きくしない限り、すべて正常に動作します。それよりも大きいと、上記のエラーがスローされます。

何も忘れていないことを願っています。事前にご協力いただきありがとうございます。

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

java - node.js と Scala (Java) 間のコネクター

node.js と Scala (Java) を統合する最良の方法は何ですか?

これまでに見た最も簡単な方法は、Redis PubSub をメディエーターとして使用し、node.js サーバーで HTTP リクエストを処理し、リクエスト チャネルにメッセージを発行し ( redis-node-clientを介して)、Scala アクター ( Akka Redis PubSub 統合など) をサブスクライブすることです。リクエスト チャネルと、計算結果をレスポンス チャネルに発行します (ノードによってサブスクライブされます)。

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

javascript - Pub/Sub と jQuery Data-Link の違いは何ですか?

今月ボストンで開催された jQuery カンファレンスで人気のトピックは、Pub/Sub のアイデアでした 。 .htm

PubSub を使用して行うことができる一般的な例は、他のイベントを実行するために値を変更するデータの一部を追跡することです。私の知る限り、独自の PubSub アーキテクチャを必要とせずに、jQuery または jQuery Data-Link プラグインを使用してこれを行うことができます。

私が知りたいのは、PubSub が提供するものと単純なデータ バインディングが提供するものの正確な違いは何ですか?.

パフォーマンスに関しては、おそらくより効率的ですか?

0 投票する
5 に答える
147 参照

php - ダウンロードしたコンテンツをロックするPHPは可能ですか?

私は現在、会員制で機能するプロジェクトに取り組んでいます。ウェブサイトの背後にある理論は、あなたがウェブサイトの有料会員である場合、雑誌の電子(PDF)バージョンをダウンロードできるというものです。

問題は、PDFをダウンロードした後、誰にでも送信でき、誰でもアクセスできるという点で発生します。PDFの料金を支払ったメンバーだけにアクセスを許可する方法はありますか?PDFをホストし、そのダウンロードに固有のランダムな文字列を保持する一意のURLでユーザーがPDFを読み取れるようにするサードパーティのサービスはありますか?

メンバーでなくてもPDFを公然と配布して表示する機能を停止できることが最も重要です。

誰かアイデアはありますか?基本的に私はPHP用のDRMのようなシステムを探しています(それは不可能だと思います)