对于使用RPC的普通GWT应用程序,我使用GWTEventService进行远程事件侦听/触发,但是如何使用GWT-Platform实现这一点呢?有没有可能从服务器向特定的客户端触发事件?例如,对于聊天应用程序。
thx
发布于 2013-08-23 16:27:16
我们为每个用户使用唯一的域。用户登录后,我们为用户生成一个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());
}
}
});有关更多细节,请随时向我咨询。
https://stackoverflow.com/questions/17248775
复制相似问题