CN104363285B - 一种网络通信程序生成方法及装置 - Google Patents
一种网络通信程序生成方法及装置 Download PDFInfo
- Publication number
- CN104363285B CN104363285B CN201410657744.0A CN201410657744A CN104363285B CN 104363285 B CN104363285 B CN 104363285B CN 201410657744 A CN201410657744 A CN 201410657744A CN 104363285 B CN104363285 B CN 104363285B
- Authority
- CN
- China
- Prior art keywords
- code
- network communication
- function
- generation
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 claims abstract description 113
- 230000000875 corresponding Effects 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 56
- 235000010384 tocopherol Nutrition 0.000 claims description 54
- 235000019731 tricalcium phosphate Nutrition 0.000 claims description 54
- 210000003128 Head Anatomy 0.000 claims description 20
- 210000002356 Skeleton Anatomy 0.000 claims description 18
- 241001269238 Data Species 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000007667 floating Methods 0.000 claims description 3
- 230000001419 dependent Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 102100006886 INTS8 Human genes 0.000 description 1
- 101710004151 INTS8 Proteins 0.000 description 1
- 230000003750 conditioning Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Abstract
本发明公开了一种网络通信程序生成方法及装置,该方法包括依据网络通信需求获取远程过程调用RPC信息;其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。该方法不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种网络通信程序生成方法及装置。
背景技术
分布式网络是由分布在不同地点且具有多个终端的节点机互联形成的,在分布式网络中,客户端与服务端需要执行分布式网络的网络通信部分的程序,进而才能实现客户端与服务端之间进行通信,即传输通信数据,可见网络通信部分的程序是客户端与服务端进行通信的基础。
现在分布式网络的网络通信程序一般由编程技术人员人工手动编写完成,然而仅仅在客户端与服务端传输一个小的文本文件,都需要编程技术人员编写大量程序来完成这个传输过程,若传输的数据更加复杂,则所需编程技术人员编写的程序更复杂,编程技术人员需要更多时间和能力来完成,因此网络通信程序的产生是一项繁琐的,费时费力的过程,还容易出错,在保证程序正常运行的基础上,需要耗费大量的人力,物力,实现成本较高。
因此,如何以较低成本生成网络通信部分的程序成为亟待解决的问题。
发明内容
本发明的目的是提供一种网络通信程序生成方法及装置,实现以较低成本生成网络通信部分的程序。
为解决上述技术问题,本发明提供了如下技术方案。
一种网络通信程序生成方法,包括:
依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息;
利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
优选的,所述接口函数包括正向方法接口函数和反向方法接口函数;
所述正向方法接口函数位于服务端,用于客户端进对所述正向方法接口函数进行调用;
所述反向方法接口函数位于客户端,用于服务端对所述反向接口函数进行调用。
优选的,所述网络通信协议包括传输控制协议TCP;所述TCP的请求数据包或回应数据包用于所述客户端和所述服务端之间传输通信数据,其中,调用方TCP请求数据包的数据头格式包括:数据头本身和请求码,回应方TCP回应数据包的数据头格式包括:数据头本身和返回码。
优选的,所述调用方TCP请求数据包的请求码包括:
数值为“-2”的会话请求码,用于调用方向回应方建立会话连接,其中,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为会话地址id;
数值为“-1”的回调请求码,用于调用方向回应方建立回调连接,其中,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
或数值为“0”的RPC请求码,用于调用方向回应方建立普通RPC调用命令,其中,所述回应方向所述调用方发送回TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
其中,所述调用方为客户端时,所述回应方为服务端;所述调用方为服务端时,所述回应方为客户端。
优选的,所述TCP的数据包中的数据类型包括:8位二进制数据INT8,16位二进制数据INT16,32位二进制数据INT32,64位二进制数据INT64,双浮点数据double,字符串数据string及字节数据binary。
优选的,依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,包括:
依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
优选的,在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,包括:
在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
一种网络通信程序生成装置,包括:
获取单元,用于依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息;
编译单元,用于利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
生成单元,用于依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
增加单元,用于在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
优选的,所述生成单元包括:
第一生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
第二生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
优选的,所述增加单元包括:
第一增加子单元,用于在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
第二增加子单元,用于在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
本发明所提供的一种网络通信程序生成方法及装置,依据网络通信需求获取远程过程调用RPC信息,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数,利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件,依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,可见编程技术人员只需在所述网络通信框架代码的基础上增加函数功能代码后就可以生成对应的通信程序,不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种网络通信程序生成方法的流程图;
图2为本发明实施例所提供的一种网络通信程序生成装置的结构图。
具体实施方式
本发明的核心是提供一种网络通信程序生成方法及装置,实现以较低成本生成网络通信部分的程序。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种网络通信程序生成方法,该方法包括如下步骤:
步骤S101:依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息。
具体的,网络通信需求指人们进行网络通信的具体需求,例如发送图像,文字或音频等等;接口函数(简称接口)指一组具有逻辑相关的网络通信函数的聚合。
需要说明的是,所述接口函数包括正向方法接口函数和反向方法接口函数;其中,所述正向方法接口函数位于服务端,用于客户端进对所述正向方法接口函数进行调用;所述反向方法接口函数位于客户端,用于服务端对所述反向接口函数进行调用。
步骤S102:利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
其中,依据接口描述文件映射到网络通信协议的规则,能够将接口描述文件编译成网络通信协议,编译的过程采用编程语言进行实现,例如C++编程语言。
例如,一个关于事件订阅的接口描述文件如下:
INTERFACE EventSubscriber
{
METHOD Login(STRING user,STRING password);
R_METHOD OnEvent(BINARY event);
};
可见,METHOD Login()与R_METHOD OnEvent()都表示接口函数,METHOD Login()为表示触发事件;R_METHOD OnEvent()表示登陆事件;整个INTERFACE EventSubscriber{}表示接口描述文件;其中,STRING user和STRING password是接口函数METHOD Login()中的参数,BINARY event是接口函数METHOD Login()中的参数。
步骤S103:依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
其中,所述标准模板是利用编程语言编写生成语言程序片段或代码片段的,编程语言可以采用C++编程语言。
步骤S104:在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
其中,所述网络通信框架代码仅仅表明一个通信框架,不能进行通信过程,需要在所述网络通信框架代码中增加函数功能代码,才能进行相应的通信过程。
本发明实施例所提供的一种网络通信程序生成方法,依据网络通信需求获取远程过程调用RPC信息,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数,利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件,依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,可见编程技术人员只需在所述网络通信框架代码的基础上增加函数功能代码后就可以生成对应的通信程序,不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序。
基于上述本发明实施例,优选的,所述网络通信协议包括传输控制协议TCP;所述TCP的请求数据包或回应数据包用于所述客户端和所述服务端之间传输通信数据,其中,调用方TCP请求数据包的数据头格式包括:数据头本身和请求码,回应方TCP回应数据包的数据头格式包括:数据头本身和返回码。
具体的,调用方TCP请求数据包的数据头的格式如下:
其中,调用方TCP请求数据包的数据头后跟请求数据。
回应方TCP回应数据包的数据头的格式如下:
其中,回应方TCP回应数据包的数据头后跟回应数据。
优选的,所述调用方TCP请求数据包的请求码包括:
数值为“-2”的会话请求码,用于调用方向回应方建立会话连接,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为会话地址id;
数值为“-1”的回调请求码,用于调用方向回应方建立回调连接,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
或数值为“0”的RPC请求码,用于调用方向回应方建立普通RPC调用命令,所述回应方向所述调用方发送回TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
其中,所述调用方为客户端时,所述回应方为服务端;所述调用方为服务端时,所述回应方为客户端。
具体的,请求码、请求包(调用方TCP请求数据包的简称)及相应的回应包(回应方TCP回应数据包的简称)有如下A、B、C三种设置:
A、设置反向方法关联接口:
请求码:-2(SET_BINDED_INTERFACE);
请求包:INT16,底层通信协议版本;
INT16,本机进程通信标志;
string,关联interfaceName;
回应包:INT64,会话id;
B、设置转换为回调通道:
请求码:-1(TO_CALLBACK);
请求包:INT64,会话id(必须用SET_BINDED_INTERFACE获得);
回应包:无;
C、设置普通RPC调用命令:
请求码:0,即RPC_COMMAND;
请求包:string call_id,格式为InterfaceName::MethodName;
其它输入参数,依赖于具体的方法/回调;
回应包:依赖于具体的方法/回调;
C设置中需要说明的是:对于正向方法(正向方法接口函数的简称),客户端为请求方,服务端为回应方;对于反向方法(反向方法接口函数的简称),服务端为请求方,客户端为回应方。
优选的,所述TCP的数据包中的数据类型包括:8位二进制数据INT8,16位二进制数据INT16,32位二进制数据INT32,64位二进制数据INT64,双浮点数据double,字符串数据string及字节数据binary。
具体的,所述数据类型的编码规范有如下A、B、C三种:
A、INT8、INT16、INT32、INT64、double,直接传输;
B、string,传输char*类型,结尾总带’\0’字符,包括如下两部分:
B1、INT32,表示长度,不包括’\0’,>=0;
B2、字符数据,为若干字节,包括’\0’;
C、binary,传输字节类型,包括如下两部分:
C1、INT32,表示长度,>=0;
C2、二进制数据,为若干字节。
基于以上所述,下面举例进行说明:
例如有如下接口描述文件:
INTERFACE EventSubscriber
{
METHOD Login(STRING pass);
R_METHOD OnEvent(BINARY event);
};
在实际通信程序运行时的步骤及相应的网络通信协议如下,其中,包括服务端程序(执行Login(),调用OnEvent(),以下简称Server)和客户端程序(执行OnEvent(),调用Login(),以下简称Client)。
步骤S1:在机器S上启动Server程序;
步骤S2:在机器C上启动Client程序;
步骤S3:Client向Server建立会话连接;
相应的网络通信协议如下:
请求包(Client→Server):
INT32:28 | INT32:-2 | INT16:0 | INT16:0 | 16节:EventSubscriber\0 |
注:INT32:28表示此单元为一个4字节的整数,内容为28
回应包(Servr→Client):
INT32:16 | INT32:0 | INT64:从1开始自曾的一个整数 |
步骤S4:Client向Server建立回调连接;
相应的网络通信协议如下:
请求包(Client→Server):
INT32:28 | INT32:-1 | INT64:步骤3,返回包的第三项 |
回应包(Servr→Client):
INT32:8 | INT32:0 |
步骤S5:Client向Server端调用Login()方法;
相应的网络通信协议如下:
请求包(Client→Server):
回应包(Servr→Client):
INT32:8 | INT32:0 |
需要说明的是,INT32:8+n中的n表示后面的参数单元所占的总长度。
步骤S6:Server向Client端调用OnEvent()方法;
相应的网络通信协议如下:
请求包(Server→Client):
回应包(Client→Server):
INT32:8 | INT32:0 |
需要说明的是:步骤S5、S6无顺序要求,也无调用次数要求,由通信程序自行决定。
基于上述实施例中的步骤S103:依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,优选可采用以下步骤实现:
步骤S201:依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
例如,生成的客户端框架代码片段如下所示:
Sample obj;
obj.SetServeIPP(服务端的网络地址);
obj.Login(“admin:admin”);//使用“admin:admin”为登录码
步骤S202:依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
例如,生成的服务端框架代码片段如下所示:
需要说明的是,步骤S201与步骤S202是并列的,不分先后。
基于上述实施例中的步骤S104:在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,优选可采用以下步骤实现:
步骤S301:在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
步骤S302:在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
例如,基于上述生成的服务端框架代码片段:
需要在此服务端框架代码片段中需要在{}中方法函数代码,生成服务。
需要说明的是,步骤S301与步骤S302是并列的,不分先后。
基于上述本发明实施例所提供的又一种网络通信程序生成方法,依据网络通信需求获取远程过程调用RPC信息,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数,利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件,所述网络通信协议包括传输控制协议TCP;所述TCP的请求数据包或回应数据包用于所述客户端和所述服务端之间传输通信数据,其中,调用方TCP请求数据包的数据头格式包括:数据头本身和请求码,回应方TCP回应数据包的数据头格式包括:数据头本身和返回码。
进一步的,所述调用方TCP请求数据包的请求码包括:数值为“-2”的会话请求码,用于调用方向回应方建立会话连接,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为会话地址id;数值为“-1”的回调请求码,用于调用方向回应方建立回调连接,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;或数值为“0”的RPC请求码,用于调用方向回应方建立普通RPC调用命令,所述回应方向所述调用方发送回TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码。
进一步的,依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码,利用标准模板生成对应的服务端框架代码,在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序,在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序,可见编程技术人员只需在所述网络通信框架代码的基础上增加函数功能代码后就可以生成对应的通信程序,不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序
本发明提供了一种网络通信程序生成装置,该装置包括:
获取单元401,用于依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息;
编译单元402,用于利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
生成单元403,用于依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
增加单元404,用于在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
优选的,所述生成单元403包括:
第一生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
第二生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
优选的,所述增加单元404包括:
第一增加子单元,用于在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
第二增加子单元,用于在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
本发明实施例所提供的一种网络通信程序生成装置,获取单元依据网络通信需求获取远程过程调用RPC信息,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数,编译单元利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件,生成单元依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,增加单元在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,可见编程技术人员只需在所述网络通信框架代码的基础上增加函数功能代码后就可以生成对应的通信程序,不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序。
综上所述,本发明所提供的一种网络通信程序生成方法及装置,依据网络通信需求获取远程过程调用RPC信息,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数,利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件,依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,可见编程技术人员只需在所述网络通信框架代码的基础上增加函数功能代码后就可以生成对应的通信程序,不再需要人工编写大量程序,过程简单,实现以较低成本生成网络通信部分的程序。
以上对本发明所提供的一种网络通信程序生成方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种网络通信程序生成方法,其特征在于,包括:
依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息;
利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
2.如权利要求1所述的方法,其特征在于,所述接口函数包括正向方法接口函数和反向方法接口函数;
所述正向方法接口函数位于服务端,用于客户端对所述正向方法接口函数进行调用;
所述反向方法接口函数位于客户端,用于服务端对所述反向方法接口函数进行调用。
3.如权利要求2所述的方法,其特征在于,所述网络通信协议包括传输控制协议TCP;所述TCP的请求数据包或回应数据包用于所述客户端和所述服务端之间传输通信数据,其中,调用方TCP请求数据包的数据头格式包括:数据头本身和请求码,回应方TCP回应数据包的数据头格式包括:数据头本身和返回码。
4.如权利要求3所述的方法,其特征在于,所述调用方TCP请求数据包的请求码包括:
数值为“-2”的会话请求码,用于调用方向回应方建立会话连接,其中,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为会话地址id;
数值为“-1”的回调请求码,用于调用方向回应方建立回调连接,其中,所述回应方向所述调用方发送TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
或数值为“0”的RPC请求码,用于调用方向回应方建立普通RPC调用命令,其中,所述回应方向所述调用方发送回TCP回应数据包;所述TCP回应数据包的返回码为数值为“0”的成功码;
其中,所述调用方为客户端时,所述回应方为服务端;所述调用方为服务端时,所述回应方为客户端。
5.如权利要求4所述的方法,其特征在于,所述TCP请求数据包和所述TCP回应数据包中的数据类型包括:8位二进制数据INT8,16位二进制数据INT16,32位二进制数据INT32,64位二进制数据INT64,双浮点数据double,字符串数据string及字节数据binary。
6.如权利要求1所述的方法,其特征在于,依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码,包括:
依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
7.如权利要求6所述的方法,其特征在于,在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序,包括:
在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
8.一种网络通信程序生成装置,其特征在于,包括:
获取单元,用于依据网络通信需求获取远程过程调用RPC信息;
其中,所述RPC信息中包括用于确定所述网络通信需求与接口描述文件之间关系的接口函数;所述RPC信息包括函数调用信息或过程调用信息;
编译单元,用于利用所述接口函数定义所述接口描述文件,依据定义后的所述接口描述文件编译网络通信协议,生成对应的网络通信协议文件;
生成单元,用于依据所述网络通信协议文件,利用标准模板生成对应的网络通信框架代码;
增加单元,用于在所述网络通信框架代码的基础上增加函数功能代码,生成对应的网络通信程序。
9.如权利要求8所述的装置,其特征在于,所述生成单元包括:
第一生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的客户端框架代码;
第二生成子单元,用于依据所述网络通信协议文件,利用标准模板生成对应的服务端框架代码。
10.如权利要求9所述的装置,其特征在于,所述增加单元包括:
第一增加子单元,用于在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
第二增加子单元,用于在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410657744.0A CN104363285B (zh) | 2014-11-18 | 2014-11-18 | 一种网络通信程序生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410657744.0A CN104363285B (zh) | 2014-11-18 | 2014-11-18 | 一种网络通信程序生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363285A CN104363285A (zh) | 2015-02-18 |
CN104363285B true CN104363285B (zh) | 2018-04-10 |
Family
ID=52530511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410657744.0A Active CN104363285B (zh) | 2014-11-18 | 2014-11-18 | 一种网络通信程序生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363285B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412086B (zh) * | 2016-10-31 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 一种利用协议描述文件自动生成通信代码的方法及系统 |
CN107832046A (zh) * | 2017-10-31 | 2018-03-23 | 北京聆云信息技术有限公司 | 数据生成方法及装置 |
CN108322458B (zh) * | 2018-01-30 | 2020-05-19 | 深圳壹账通智能科技有限公司 | Web应用入侵检测方法、系统、计算机设备和存储介质 |
CN110300082B (zh) * | 2018-03-21 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 一种接口生成方法、装置及存储介质 |
CN110750684B (zh) * | 2018-07-06 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 多维度验证的消息提示方法、存储介质、电子设备及系统 |
CN109871289B (zh) * | 2019-02-01 | 2020-03-10 | 北京顺丰同城科技有限公司 | 一种远程过程调用rpc服务生成方法及装置 |
CN110262912A (zh) * | 2019-06-26 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种过程调用gRPC的调用方法及装置 |
CN113536305B (zh) * | 2020-04-17 | 2022-09-09 | 武汉瓯越网视有限公司 | 检测采集行为的方法及装置 |
CN114697404A (zh) * | 2022-02-25 | 2022-07-01 | 中国航发控制系统研究所 | 数控系统的上下位机通讯协议生成方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668998A (zh) * | 2002-05-17 | 2005-09-14 | 西姆德斯克技术公司 | 应用程序生成器 |
CN101719902A (zh) * | 2009-12-04 | 2010-06-02 | 深圳创维数字技术股份有限公司 | 一种远程过程调用方法和系统 |
CN102520972A (zh) * | 2011-12-31 | 2012-06-27 | 上海方寸信息科技有限公司 | 电子游戏开发系统及其方法 |
CN102902540A (zh) * | 2012-09-25 | 2013-01-30 | 浙江创佳数字技术有限公司 | 嵌入式自动化开发方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409693B2 (en) * | 2003-10-30 | 2008-08-05 | International Business Machines Corporation | Method and system for providing version control of parameters in a command-based API using Java serialization |
-
2014
- 2014-11-18 CN CN201410657744.0A patent/CN104363285B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668998A (zh) * | 2002-05-17 | 2005-09-14 | 西姆德斯克技术公司 | 应用程序生成器 |
CN101719902A (zh) * | 2009-12-04 | 2010-06-02 | 深圳创维数字技术股份有限公司 | 一种远程过程调用方法和系统 |
CN102520972A (zh) * | 2011-12-31 | 2012-06-27 | 上海方寸信息科技有限公司 | 电子游戏开发系统及其方法 |
CN102902540A (zh) * | 2012-09-25 | 2013-01-30 | 浙江创佳数字技术有限公司 | 嵌入式自动化开发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104363285A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104363285B (zh) | 一种网络通信程序生成方法及装置 | |
CN105763619B (zh) | 客户端与服务端进行通讯的方法及装置 | |
CN103716308B (zh) | 一种多协议平台通信方法及多协议平台 | |
CN101981897A (zh) | 根据标准协议opc ua在客户端服务器系统中通信的方法和装置 | |
CN105323229B (zh) | 一种基于cpe的数据传输方法、网元、平台及系统 | |
WO2007064443A3 (en) | Personalized content processing and delivery system and media | |
CN104335523A (zh) | 一种权限控制方法、客户端及服务器 | |
CN108769017A (zh) | 一种数据通信方法及装置 | |
CN103916274B (zh) | 一种多实例并行的网元接入方法和系统 | |
US10635436B2 (en) | Compatibility method based on hybrid, adapter, operation device, system and computer-readable storage medium | |
CN109525574A (zh) | 一种跨网跨层级业务协同服务平台系统 | |
US20030105806A1 (en) | Service facilitator for automating object conversions and communication connections in client-server systems | |
CN107147658A (zh) | 一种物理隔离信息交换方法 | |
CN105302564A (zh) | 网络办公软件服务控件及实现方法 | |
CN106686021A (zh) | 一种服务调用方法和网关 | |
CN104954501A (zh) | 跨域信息交互方法、装置及系统 | |
WO2012001514A3 (en) | Management of serving gateways for enhanced performance | |
CN104486396A (zh) | 一种跨平台的网络数据的传输方法 | |
CN103532959A (zh) | 一种跨平台网络通信方法 | |
CN108667817A (zh) | 报文转换系统和报文转换方法 | |
CN105024923B (zh) | 基于xmpp扩展消息的消息分类实现的方法及装置 | |
CN111901384A (zh) | 处理报文的系统、方法、电子设备以及可读存储介质 | |
CN102857482B (zh) | 基于多服务端的数据传输方法及系统 | |
CN104993906B (zh) | 一种消息传输的方法及系统 | |
CN109586979A (zh) | 一种报文传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20220726 Granted publication date: 20180410 |
|
PP01 | Preservation of patent right |