Ich muss Front-End für Server-Sent-Event zu implementieren. Ich benutze GWT, und ich kann keine Lösung finden, um einen Listener für SSE zu erstellen. Ich muss die Daten vom Server pushen und jedes Mal, wenn Daten geändert wurden, auf dem Client erhalten. So jetzt habe ich eine etwas wie folgt aus:Deal mit Server gesendet Ereignis auf Client-Seite GWT
private void method() {
final EventSource eventSource = EventSource.newEventSourceIfSupported();
if (null != eventSource) {
eventSource.setListener(this);
eventSource.open(GWT.getHostPageBaseURL() + "rest/myresource");
}
}
@Override
public void onOpen(EventSource eventSource) {
Window.alert("Open");
}
@Override
public void onClose(EventSource eventSource) {
Window.alert("onClose");
}
@Override
public void onMessage(EventSource eventSource, String lastEventId, String type, String data) {
Window.alert("lastEventId: " + lastEventId);
Window.alert("type: " + type);
Window.alert("data: " + data);
}
@Override
public void onError(EventSource eventSource) {
Window.alert("onError");
}
meine Klasse implementiert EventSourceListener
Aber es funktioniert nicht. Eigentlich reagiert dieser Code nur, wenn die Verbindung geöffnet wird, aber es ist unmöglich, eine Nachricht vom Server zu empfangen. Kann jemand das Problem mit dem Empfang von Daten auf dem Client mit GWT umgehen?