2016-07-18 7 views
1

ブラウザのウィンドウで実行されているJavaScriptからRabbitMQチャネルにサブスクライブする必要があるため、RabbitMQによってそのチャネルに公開されたメッセージを受信できます。プッシュメッセージを受信するためにJavaScriptからRabbitMQを購読する

Node.jsなどのJSライブラリを使用せずにこれを行う方法をお伝えしたいと思います。

私はRabbitMQ 3.6.3、Erlang 17.0を使用しています。

+0

NodeJSは、RabbitMQメッセージを完全に処理してWebブラウザに転送できます。使用するノードモジュールは、 – Alex

+0

AMQPと呼ばれます。すでにNode JSについて話しているサイトが多すぎました。しかし、なぜ私たちはライブラリなしでそれをできないのだろうと思っていたのですか?つまり、わかりやすい古いJavaScriptを使用しています。 –

+0

待ち、NodeJSがサーバー側であることはご存じですか?私はあなたのブラウザ側でプレーンなJavascriptをやりたいのですが、Javascriptサーバー側でMQTTパケットを取得するには、NodeJSのようなテクノロジを使う必要があります。私があなたに助言しないメッセージを直接取り出す必要がある場合、私はそれが簡単にできるとは確信していません... – Alex

答えて

0

私は、私はあなたがすることはできません任意のJSライブラリ

を使用せずにこれを行うことができますどのようにしたいと思います。

RabbitMQにはライブラリが必要です。あなた自身で書くか(私はお勧めしません)、または既存のライブラリを使用してください。

ただし、ブラウザからは接続しないでください。ブラウザはWebサーバーと対話し、WebサーバーはRabbitMQに接続する必要があります。

ウェブサーバーまたはサーバー側イベントを使用して、Webサーバーからブラウザに通信します。

+0

OK。これを考慮してください:ブラウザ上で動作するアプリケーションのフロントエンドにはデータが必要ですが、処理時間が長くなる可能性があります。したがって、WebSocketを使用してRabbitMQキューへのサブスクリプションを確立し、WebServerに要求を送信します。データは必要です。準備ができたら、キューにプッシュします。これが間違ったアプローチであることを示唆していますか?その場合、他に何を試してみることができますか? –

+0

これは間違ったアプローチではありませんが、以前のメッセージから理解できる限り、クライアント側のJavascriptを使用して、ブラウザからRabbitMQメッセージに直接アクセスしたいと考えました。それは@Derick Baileyと私があなたにすることをお勧めしていなかったことです。もちろん、WebSocketを使ってRabbitMQと通信するWebサーバー上のメッセージをポーリングするのは良い解決策です:) – Alex

+0

はい、私の解釈は正しくありませんでした。 DerickとAlexに感謝します。 WebSocketとSUBSCRIBEを使用してRabbitMQに接続し、私が聞きたいキューに接続できました。それはうまく動作します。 –

0

node.jsを使用せずに実行できますか?私のアプリケーションが角ウェブアプリケーションの場合はどうでしょうか?

signalRの場合は、これまでと同じようにjavascriptで行う必要がありました。

関連する問題