2013-06-22 70 views
0

對於具有RPC的普通GWT應用程序,我使用GWTEventService進行遠程事件監聽/觸發,但我如何使用GWT-Platform進行此操作。 有沒有可能從服務器向特定客戶端發送事件?例如用於應用程序。GWTP(GWT平臺)和遠程事件

thx

回答

0

我們爲每個用戶使用了唯一的域。用戶登錄後,我們爲用戶生成了一個GUID,並通過RPC從客戶端加載它。而且,我們爲使用此GUID的用戶發送事件作爲專用域ID。

在服務器:

// in CometMessageService 
public void sendPrivateMessage(final String message, final Protocol.SessionId sessionId) { 
    getEventService().addEvent(
      DomainFactory.getDomain(sessionId.toString()), 
      new ServerMessageEvent(message)); 
} 

在客戶端:

RemoteEventService eventService = RemoteEventServiceFactory.getInstance().getRemoteEventService(); 

eventService.addListener(DomainFactory.getDomain(privateDomain), new RemoteEventListener() { 
     public void apply(Event event) { 
      if(event instanceof ServerMessageEvent) { 
       ServerMessageEvent messageEvent = (ServerMessageEvent) event; 
       Info.display("User Specific Comet message", messageEvent.getMessage()); 
      } 
     } 
    }); 

可自由向我詢問有關的更多細節。