CN104363285B - 一种网络通信程序生成方法及装置 - Google Patents

一种网络通信程序生成方法及装置 Download PDF

Info

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
Application number
CN201410657744.0A
Other languages
English (en)
Other versions
CN104363285A (zh
Inventor
郭军
杨雪慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netposa Technologies Ltd
Original Assignee
Netposa Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netposa Technologies Ltd filed Critical Netposa Technologies Ltd
Priority to CN201410657744.0A priority Critical patent/CN104363285B/zh
Publication of CN104363285A publication Critical patent/CN104363285A/zh
Application granted granted Critical
Publication of CN104363285B publication Critical patent/CN104363285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

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所述的装置,其特征在于,所述增加单元包括:
第一增加子单元,用于在所述客户端框架代码的基础上增加客户端的回调函数代码,实现回调功能,生成客户端通信程序;
第二增加子单元,用于在所述服务端框架代码的基础上增加服务端的方法函数代码,实现方法功能,生成服务端通信程序。
CN201410657744.0A 2014-11-18 2014-11-18 一种网络通信程序生成方法及装置 Active CN104363285B (zh)

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 (10)

* Cited by examiner, † Cited by third party
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服务生成方法及装置
CN110262912B (zh) * 2019-06-26 2023-12-22 深圳前海微众银行股份有限公司 一种过程调用gRPC的调用方法及装置
CN113536305B (zh) * 2020-04-17 2022-09-09 武汉瓯越网视有限公司 检测采集行为的方法及装置
CN114697404A (zh) * 2022-02-25 2022-07-01 中国航发控制系统研究所 数控系统的上下位机通讯协议生成方法、系统及存储介质
CN115277875B (zh) * 2022-07-30 2023-07-04 重庆长安汽车股份有限公司 一种通讯网络接口的生成方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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) 一种多协议平台通信方法及多协议平台
US10635436B2 (en) Compatibility method based on hybrid, adapter, operation device, system and computer-readable storage medium
CN102821085A (zh) 第三方授权登录方法、开放平台及系统
WO2007064443A3 (en) Personalized content processing and delivery system and media
CN103428166A (zh) 第三方应用的多sns平台统一接入方法及系统
CN103179133A (zh) 基于实体类的客户端与服务器通信的方法
CN105519028A (zh) 一种无线系统接入控制方法及装置
CN103916274B (zh) 一种多实例并行的网元接入方法和系统
CN107483592A (zh) 一种基于通用前置机的交易处理方法及一种通用前置机
CN103532959A (zh) 一种跨平台网络通信方法
CN109525574A (zh) 一种跨网跨层级业务协同服务平台系统
CN104486396A (zh) 一种跨平台的网络数据的传输方法
CN107147658A (zh) 一种物理隔离信息交换方法
CN104954501A (zh) 跨域信息交互方法、装置及系统
CN103533038A (zh) 一种基于html5的远程控制系统及其远程控制方法
CN105302564A (zh) 网络办公软件服务控件及实现方法
CN109725887A (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN105024923B (zh) 基于xmpp扩展消息的消息分类实现的方法及装置
CN106063190B (zh) 一种文件修复的方法、相关装置及系统
CN111901384A (zh) 处理报文的系统、方法、电子设备以及可读存储介质
CN102857482B (zh) 基于多服务端的数据传输方法及系统
CN103944956A (zh) 网络服务代理方法
CN109525550B (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