如何使用vert.x java api向客户端发送服务器通知(推送通知)

时间:2013-06-11 06:47:39

标签: java javascript push-notification vert.x

过去4天我一直在努力使用java(在服务器端)和javascript(客户端)在vert.x框架中实现推送通知。我一直在研究this link的例子。

我无法理解下面代码行中“前缀”的重要性。 如何将我的自定义消息放到json数组中,以便它作为通知发送到客户端。

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

我也无法根据需要实施客户端。我的要求是从数据库获取数据,而 vert.x 服务器将该数据发布到n个客户端。整个情景的先决条件是什么?

在上面提到的链接中,index.html就在那里。我在浏览器上调试了这个。它成功连接了服务器。 还有一点是,index.html中的“/ eventbus”的意义是什么(第108行)

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

成功连接server.Should每个客户端订阅服务器以获取服务器的通知?我希望每个客户都能在没有任何客户干预的情况下收到通知。

现在,最后一点是在下面的代码中,地址是什么?是客户端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>"));
    }
  }

任何帮助都会很明显。

1 个答案:

答案 0 :(得分:0)

registerHandler()中的回调函数以Json格式从服务器接收消息。您可以通过message.notification获取自定义消息,其中通知是您在服务器端设置的唯一密钥。

相关问题