2017-01-03 6 views
0

Je suis connexion par Vertx EventBus (SockJS à mon back-end Java. Tout fonctionne bien, mais je ne peux pas trouver un moyen d'envoyer un message initial.SOCKJS répondre à l'événement SOCKET_CREATED

est-il un moyen de renvoyer ? données lorsque le pont SockJS reçoit SOCKET_CREATED sur le côté du navigateur sockjs

Merci

+0

côté client [Documentation] (https://github.com/sockjs/sockjs-client) – MattSizzle

+0

Ok, je vous remercie pour cela. – Shvalb

Répondre

1

extrait de leur documentation.

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

Votre instanciation event peut être différente, mais ce serait la façon dont vous vérifiez l'événement spécifique et exécutez le code après qu'il s'est produit

+0

C'est génial, mais c'est la partie facile, Comment l'acceptez-vous du côté client Javascript? – Shvalb

0

Vous pouvez vérifier cette code, où j'utilise EventBus.

Voici le code de référence

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

Finalement, j'ai trouvé une solution de contournement en utilisant le rappel 'onmessage'. – Shvalb

+0

ok bien ... celui-ci est une approche différente en utilisant EventBus qui utilise sockjs en interne. :) – Flash