4

java(サーバー側)とjavascript(クライアント側)を使用して、vert.xフレームワークにプッシュ通知を実装するために過去4日間苦労してきました。私はこのリンクから例を勉強しています。

以下のコード行の「プレフィックス」の意味を理解できません。カスタム メッセージを json 配列に配置して、通知としてクライアントに送信する方法。

sockJSServer.bridge(new JsonObject().putString("prefix", "/eventbus"), permitted, permitted);

また、必要に応じてクライアント側を実装することもできません。私の要件は、データベースからデータを取得し、vert.xサーバーよりそのデータを n 個のクライアントに公開することです。そのシナリオ全体の前提条件は何ですか?

上記のリンクには、index.html があります。これをブラウザでデバッグしました。サーバーへの接続に成功しました。もう 1 点、index.html の "/eventbus" の意味は何ですか (行番号 108)。

eb = new vertx.EventBus("http://localhost:8080/eventbus"); 

サーバーとの接続が成功した後、サーバーから通知を受け取るには、すべてのクライアントがサーバーにサブスクライブする必要がありますか? クライアントの介入なしに、すべてのクライアントが通知を受け取ることを望みます。

さて、最後のポイントは以下のコードにあります。アドレスとは何ですか? それはクライアントのIPアドレスですか、サーバーですか、それともその他のものですか。

function publish(address, message) {
    if (eb) {
      var json = {text: message};
      eb.publish(address, json);
      $('#sent').append($("<code>").text("Address:" + address + " Message:" + message));
      $('#sent').append($("</code><br>"));
    }
  }

  function subscribe(address) {
    if (eb) {
      eb.registerHandler(address, function(msg, replyTo) {
        $('#received').append("Address:" + address + " Message:" + msg.text + "<br>");
      });
      $('#subscribed').append($("<code>").text("Address:" + address));
      $('#subscribed').append($("</code><br>"));
    }
  }

どんな助けもかなりのものです。

4

1 に答える 1

0

registerHandler() のコールバック関数は、Json 形式でサーバーからメッセージを受信します。message.notification でカスタム メッセージを取得できます。notification は、サーバー側で設定する一意のキーです。

于 2013-06-19T11:26:18.193 に答える