[发明专利]一种在远程过程调用中的信息封装方法及装置有效
申请号: | 201710524061.1 | 申请日: | 2017-06-30 |
公开(公告)号: | CN107483399B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 杨亮;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/54 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 远程 过程 调用 中的 信息 封装 方法 装置 | ||
1.一种在远程过程调用中的信息封装方法,其特征在于,包括:
在调用端进行远程过程调用时,确定用于调用所述远程过程的调用信息的数据结构,所述数据结构中包含预设字段,所述预设字段具体为args字段,所述args字段代表所述调用端所提供的所有调用参数;
获取用于调用所述远程过程的调用参数;
对所述调用参数进行序列化,获得序列化调用参数,所述调用参数的数据类型,包括:整数类型、或字节类型、或浮点类型、或美国信息交换标准码ASCII字符串类型、或统一的字符编码标准Unicode字符串类型、或数组类型、或对象类型;
所述对所述调用参数进行序列化,获得序列化调用参数,包括:
确定所述调用参数的数据类型;
将所述调用参数的数据类型转化为远程过程调用参数IRpcArgument类型,获得所述序列化调用参数,包括:
在所述调用参数的数据类型为整数类型时,将所述调用参数的整数值设置到所述序列化调用参数的m_intValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_I32类型;
在所述调用参数的数据类型为字节类型时,将所述调用参数的字节数值设置到所述序列化调用参数的m_i8Value字段中,并将所述序列化调用参数的m_type字段设置为RAT_I8类型;
在所述调用参数的数据类型为浮点类型时,将所述调用参数的浮点值设置到所述序列化调用参数的m_singleValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_SINGLE类型;
在所述调用参数的数据类型为ASCII字符串类型时,将所述调用参数的ASCII字符串复制到所述序列化调用参数的m_charBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_STRING类型;
在所述调用参数的数据类型为Unicode字符串类型时,将所述调用参数的Unicode字符串复制到所述序列化调用参数的m_wcharBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_WSTRING类型;
在所述调用参数的数据类型为数组类型时,将所述调用参数的数组元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_BLOB类型;
在所述调用参数的数据类型为对象类型时,将所述调用参数的结构体元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_OBJECT类型;
基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,获得所述调用信息,包括:
在所述调用参数的数据类型为非对象类型时,所述基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,包括:
若所述调用参数的数据类型为非数组类型,则在所述预设字段中依次加入第一字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第二字节用于保存所述调用参数的参数值;
若所述调用参数的数据类型为数组类型,则在所述预设字段中依次加入第一字节、第三字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第三字节用于所述调用参数中的数组元素的个数,所述第二字节用于保存所述调用参数的参数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710524061.1/1.html,转载请声明来源钻瓜专利网。