2013-06-11 1 views
4

Я занимаюсь с последних 4 дней, чтобы реализовать push-уведомление в структуре vert.x с помощью java (на стороне сервера) и javascript (на стороне клиента). Я изучал пример с this link.Как получить уведомление о сервере (push-уведомление) клиенту с помощью vert.x java api

Я не могу понять, в чем значение «префикс» в нижней строке кода. Как разместить мое пользовательское сообщение в json-массиве, чтобы оно было отправлено клиенту в качестве уведомления.

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

И я также неспособен реализовать клиентскую сторону в соответствии с моей потребностью. Моим требованием является получение данных из базы данных, а vert.x сервер публикует данные для n числа клиентов. Каким будет предпосылка для всего этого сценария?

В вышеупомянутой ссылке index.html есть. Я отладил это в браузере. Он успешно подключает сервер. Еще одна точка, что значение «/ eventbus» в index.html (линия нет # 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

В ожидании некоторой помощи ... – ved

+0

Я думаю, что никто не поможет мне. :( – ved

+1

Вы понимаете теорию использования любой шины событий? Идея адреса не является специфичной для Vert.x, это всего лишь способ идентифицировать сообщения, проходящие через шину. Тогда вы можете подписаться на множество слушателей на любое сообщение. – diega

ответ

0

Функция обратного вызова в registerHandler() получает сообщение от сервера в форме Json. Вы можете получить свое собственное сообщение message.notification, где уведомление является вашим уникальным ключом, который должен быть установлен на стороне сервера.

+0

благодарит Рахула за ваши ценные усилия. Я решил свою проблему сам по себе. – ved

Смежные вопросы