我的程序可以使用" fireEvent"在客户端,然后是异步回调。
但是如何从服务器端直接调用客户端功能,如" MessageBox"如果服务器执行错误/错误? (显示错误消息的消息框)
服务器端: ABC.java
try {
//SFTP coding
} catch (JSchException e) {
System.err.println("Time out for connecting SFTP server");
//What should i put here to call MessageBoxHandler
//MessageBoxHandler(String a, String b);
//cannot call client side function in server side...
}
客户方:
public class MessageBoxHandler {
public MessageBoxHandler(String a, String b) {
MessageBox.alert(a, b,
new Listener<MessageBoxEvent>() {
@Override
public void handleEvent(MessageBoxEvent be) {
if (be.getButtonClicked().getItemId()
.equals(Dialog.OK)) {
//may be a action should be here , nvm
//i just want to show messageBox only
}
}
});
}
}
答案 0 :(得分:2)
我不确定我明白你在做什么,但我不认为这是好方法。你应该做的是使用RPC(因为这是你明显使用的),而不是仅仅在服务器端捕获异常并记录错误,你应该在服务器端方法中抛出异常以在{{{ 1}}客户端RPC回调的方法。
您应该在 _Handling Excpetions 部分下查看this tutorial。