diff --git a/net.html b/net.html index 26b59bd0d..1bc9ae057 100644 --- a/net.html +++ b/net.html @@ -656,7 +656,7 @@
- 包体数据结构为 ([参数序号][参数BSON值])* N + [0][结果对象BSON]。 其中参数序号从1开始,只有当Service的方法存在@DynCall回调才会有参数BSON值,序号为0表示为结果对象的BSON值。若方法为void返回类型,则不存在结果对象BSON值。 + 包体数据结构为 ([参数序号][参数BSON值])* N + [0][结果对象BSON]。 其中参数序号从1开始,只有当Service的方法存在@RpcCall回调才会有参数BSON值,序号为0表示为结果对象的BSON值。若方法为void返回类型,则不存在结果对象BSON值。
由以上代码可以看出来,远程模式Service是根据本地模式Service临时类动态生成的。远程类执行方法时通过SNCP协议将参数序列化并带上当前方法信息传输到远程服务器上,执行完后将结果流反序列化并返回, 其流程与WebService类似。
-远程模式的@DynCall回调
+远程模式的@RpcCall回调
与WebService的区别除了更具性能的二进制的数据格式,更差异的是远程模式的Service允许修改参数本身的内容。范例如下:
/**
- * 由于该方法在处理过程中修改了参数bean的内容,为了保证本地模式与远程模式的一致性,需要提供@DynCall回调接口
+ * 由于该方法在处理过程中修改了参数bean的内容,为了保证本地模式与远程模式的一致性,需要提供@RpcCall回调接口
*
* @param bean
* @return
*/
-public RetResult<UserInfo> login(@DynCall(DynCallLoginBeanAttribute.class) LoginBean bean) {
+public RetResult<UserInfo> login(@RpcCall(RpcCallLoginBeanAttribute.class) LoginBean bean) {
bean.setLogintime(System.currentTimeMillis());
bean.setSessionid("SID" + System.currentTimeMillis());
// 登陆逻辑
@@ -257,8 +257,8 @@
-/** DynCallLoginBeanAttribute 的实现 **/
-public class DynCallLoginBeanAttribute implements Attribute<LoginBean, Object[]> {
+/** RpcCallLoginBeanAttribute 的实现 **/
+public class RpcCallLoginBeanAttribute implements Attribute<LoginBean, Object[]> {
@Override
public Object[] get(LoginBean obj) {
@@ -287,7 +287,7 @@
}
}
生成远程模式Service时发现参数带有@DynCall注解的方法,在远程调用返回结果时会进行回调处理。
+生成远程模式Service时发现参数带有@RpcCall注解的方法,在远程调用返回结果时会进行回调处理。