过去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>"));
}
}
任何帮助都会很明显。
答案 0 :(得分:0)
registerHandler()中的回调函数以Json格式从服务器接收消息。您可以通过message.notification获取自定义消息,其中通知是您在服务器端设置的唯一密钥。