GWTP (GWT-платформа) и удаленные события

Для обычного приложения GWT с RPC я использую GWTEventService для удаленного прослушивания/запуска событий, но как я могу сделать это с помощью GWT-Platform. Есть ли возможность запускать события с сервера на определенных клиентов? например, для приложения чата.

Спасибо


person Jan Fischer    schedule 22.06.2013    source источник


Ответы (1)


мы использовали уникальные домены для каждого пользователя. После того, как пользователь вошел в систему, мы сгенерировали GUID для пользователя и загрузили его с клиента через RPC. И затем мы отправляем событие для пользователей, использующих этот GUID в качестве идентификатора частного домена.

На сервере:

// 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());
            }
        }
    });

Не стесняйтесь спрашивать меня о более подробной информации.

person Vladimir Bystrov    schedule 23.08.2013