当服务端接收到消息,底层将解析后数据,发送到该类中。
请求处理
@Override
protected void dealRequest(NetMessage netMessage) {
try {
MethodDefination methodDefination = MethodFactory.getMethod(netMessage.getAction());
Object object = methodDefination.getObject();
Method method = methodDefination.getMethod();
ArgumentMaker argumentMaker = new ArgumentMaker(netMessage.getParam());
Class<?>[] parameterTypes = method.getParameterTypes();
Object[] values = new Object[parameterTypes.length];
for (int i = 0; i < parameterTypes.length; i++) {
values[i] = argumentMaker.getArgument("arg" + i, parameterTypes[i]);
}
response(ArgumentMaker.toJson(method.invoke(object,values)));
} catch (IllegalAccessException | InvocationTargetException e) {
response("ERROR : 方法执行异常");
}
}
public void response(String message) {
super.response(message);
}
这里首先根据方法请求,获取方法,及对象实例,解析参数,执行方法,将结果返回。
RMI
RMI:代理机制
RMI:客户端
RMI:底层通信
RMI:请求映射