2016-03-22 20 views
0

サーバー送信イベントのフロントエンドを実装する必要があります。私はGWTを使用して、私はSSEのリスナーを作成するための解決策を見つけることができません。私は、サーバーからデータをプッシュし、データが変更されるたびにクライアントで受信する必要があります。だから、今のところ私はこのようなものがあります:クライアントサイドでサーバー送信イベントを処理する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"); 

} 

を私のクラスはEventSourceListener を実装しかし、それは動作しません。実際には、このコードは接続が開かれたときだけ反応しますが、サーバーからメッセージを受け取ることはできません。誰かがGWTを使用してクライアント上のデータを受信することでこの問題を処理する方法を知っていますか?

答えて

0

ように多くの方法がありますが、クライアントへの要求を開始するには、サーバーためにはGWT Event Servicesenter link description here

ようpush back servicesためGWTに存在して、あなたはWebSocketsを使用する必要がありますし、現在は実験的なHTML5の機能only supported by Chrome.

また、この種のやりとりをシミュレートするには、rocket-gwt projectでGWTで利用できるComet(ロングポーリング)を使用できます。

関連する問題