2017-01-03 16 views
0

Я подключение через VertX eventbus (SockJS на мой Java на основе бэкенд. Все отлично работает, однако, я не могу найти способ, чтобы отправить первоначальное сообщение.SOCKJS ответить на SOCKET_CREATED событие

Есть ли способ, чтобы отправить обратно ? данные, когда sockJS мост получает SOCKET_CREATED к sockjs стороны браузера

Спасибо

+0

Client-Side [Документация] (https://github.com/sockjs/sockjs-client) – MattSizzle

+0

Хорошо, спасибо вам за это. – Shvalb

ответ

1

Взятым из их документации:.

if (event.type() == SOCKET_CREATED || event.type() == SOCKET_CLOSED) 
{ 
    //... 
    vertx.eventBus().publish("fromServer", jmsg.toJSONString()); 
} 

Ваш экземпляр event может отличаться, но это будет так, как вы проверите конкретное событие и запустите код после его возникновения.

+0

Это замечательно, но это легкая часть, Как вы принимаете ее на стороне клиента Javascript? – Shvalb

0

Вы можете проверить это code, где я использую EventBus.

Вот Референс код

this.eventBus = new EventBus(this.URL); 
this.eventBus.onopen = (e) => { 
     this._opened = true; 
     console.log("open connection"); 
     this.callHandlers('open', e); 
     this.eventBus.publish("http://localhost:8082", "USER LOGIN INFO"); 

     this.eventBus.registerHandler("http://localhost:8081/pushNotification", function (error, message) { 
      console.log(message.body); 


     //$("<div title='Basic dialog'>Test message</div>").dialog(); 

    }); 
} 
this.eventBus.onclose = (e) => { 
    this.callHandlers('close', e); 
    } 
} 
+0

В конце концов я нашел обходное решение с использованием обратного вызова 'onmessage'. – Shvalb

+0

хорошо ... это другой подход, используя EventBus, который использует sockjs внутри. :) – Flash

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

  • Нет связанных вопросов^_^