CN109298866A - 基于c语言的tlv格式协议快速解析方法 - Google Patents
基于c语言的tlv格式协议快速解析方法 Download PDFInfo
- Publication number
- CN109298866A CN109298866A CN201811120660.8A CN201811120660A CN109298866A CN 109298866 A CN109298866 A CN 109298866A CN 201811120660 A CN201811120660 A CN 201811120660A CN 109298866 A CN109298866 A CN 109298866A
- Authority
- CN
- China
- Prior art keywords
- data
- type
- tlv
- value
- server
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了基于C语言的TLV格式协议快速解析方法。属于TLV格式协议解析技术领域,该方法使得2G网络连接客户机和服务器之间的网络请求速度快、网络通信能力强、网络数据交换快和TLV格式的数据解析速度快。在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;在传输层对TCP/TP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换。在解析器内设有能把一段TLV格式的数据反序列化成一个struct类型的TLV数据解析接口。
Description
技术领域
本发明涉及TLV格式协议解析技术领域,具体涉及基于C语言的TLV格式协议快速解析方法。
背景技术
目前的2G网络连接一般都是采用HTTP网络模块访问(HTTP+TLV)方式,HTTP网络模块访问方式的单次接口请求时间一般在8s-10s,客户机和服务器之间的网络请求速度慢。
在C语言环境中,要对一个TLV协议的数据做解析,一般情况下需要针对某一种数据实现一个单独的解析函数,如果在项目中有多种数据就都需要多个TLV协议的数据解析,这就必然造成代码冗余和开发效率低下。
发明内容
本发明是为了解决现有2G网络连接客户机和服务器之间的网络请求速度慢的不足,提供一种2G网络连接客户机和服务器之间的网络请求速度快、网络通信能力强、网络数据交换快、TLV格式的数据解析速度快的基于C语言的TLV格式协议快速解析方法。
以上技术问题是通过下列技术方案解决的:
基于C语言的TLV格式协议快速解析方法,在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;在传输层对TCP/IP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换;
在解析器内设有能把一段TLV格式的数据反序列化成一个struct类型的TLV数据解析接口;TLV数据解析接口把一段TLV格式的数据反序列化成一个struct类型的过程如下:
在解析TLV格式的数据时加入面向对象的概念,通过将一个结构体目标的指针作为“对象”传入TLV数据解析接口,利用TLV数据解析接口的UnpackTlvBuff解析函数顺序解析出所有的TLV数据段;在解析完每一段TLV数据时,利用回调函数回调出相应的TLV数据段的类型tag、长度length、值value以及“对象”,回调函数中再针对不同的“对象”作相应的数据赋值,若该TAG对应的是一个基本数据类型参数则直接赋值,若该tag对应的是一个结构体对象则再次利用UnpackTlvBuff解析函数解析出结构体对象内部的TLV数据的值value,同时传入新的“对象”以区分目标,重复以上步骤直至解析完成;这样一个解析回调函数就能完成整个多层嵌套的结构体“对象”的解析过程,从而实现多层嵌套的复杂的TLV格式协议的数据快速解析。
本方案通过一个双向通信的网络通道socket长链接模块(TCP/IP+TLV)代替了普通HTTP网络模块访问(HTTP+TLV),在传输层对TCP/IP传输协议封装,采用TLV格式约定格式的数据流,能使单次接口请求时间从8s-10s减小到2s-3s,从而使得客户机和服务器之间的网络请求速度快、网络通信能力强和网络数据交换快,TLV格式的数据解析速度快。
在C语言环境中,实现了TLV格式的数据快速解析工具;
实现的对外功能接口包括:
TLV数据解析接口
VOIDUnpackTlvBuff(void*target,uint8*pBuff,uint16bufLen,UnpackCBunpackCB)。
支持的数据类型包括所有基本类型(byteint16int32char数组等)以及包含基本类型的自定义struct类型。
作为优选,在客户机或服务器的发射端,对传输的数据对象进行编码,将编码后数据对象对应的数据类型转换成数据流;
在客户机或服务器的接收端,将接受的数据对象对应的数据流转化为数据类型,对数据类型进行解码得到对应的数据对象;
TLV格式是一种可变格式,其中,T是类型tag的缩写,L是长度length的缩写,V是值value的缩写,一个基本的数据元包括TLV这三个域,tag唯一标识该数据元,tag的长度为4个字节,length的长度为2个字节,value域的长度由length来指定,value就是数据本身;
TLV格式数据对象的编码方法如下:
a1)将类型tag用htonl转换为网络字节顺序,指针偏移+4;
a2)将长度length用htonl转换为网络字节顺序,指针偏移+4;
a3)若值value数据类型为int、char、short,则将其转换为网络字节顺序,指针偏移+4;
a4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
a5)接着再继续处理后面的tlv;
TLV格式数据对象的解码方法如下:
b1)读取tag用ntohl转换为主机字节序得到类型,指针偏移+4
b2)读取lengh用ntohl转换为主机字节序得到长度;指针偏移+4
b3)根据得到的长度读取value,若value数据类型为int、char、short,用ntohl转换为主机字节序,指针偏移+4;
b4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
b5)接着再继续处理后面的tlv。
作为优选,网络通道socket长链接模块的创建和连接;
客户机端使用网络通道socket长链接模块与服务器创建网络连接;
当数据发送完成后网络通道socket长链接模块的链接不断开,一直保留到异常或者是程序退出为止才断开;
服务器端建立socket长链接的一般步骤是:
structsockaddr_inaddr;定义一个ip地址;
创建一个socket,用函数socket();
设置socket属性,用函数setsockopt();
绑定TP地址、端口等信息到socket上,用函数bind();
开启监听,用函数listen();
接收客户端上来的连接,用函数accept();
收发数据,用函数send()和recv(),或者read()和write();
关闭网络连接;
关闭监听;
客户端建立socket长链接一般步骤是:
创建一个socket,用函数socket();
设置socket属性,用函数setsockopt();
绑定TP地址、端口等信息到socket上,用函数bind();
设置要连接的对方的IP地址和端口等属性;
连接服务器,用函数connect();
收发数据,用函数send()和recv(),或者read()和write();
关闭网络连接。
本发明能够达到如下效果:
本发明通过一个双向通信的网络通道socket长链接模块(TCP/IP+TLV)代替了普通HTTP网络模块访问(HTTP+TLV),在传输层对TCP/IP传输协议封装,采用TLV格式约定格式的数据流,能使单次接口请求时间大大缩短,从而使得客户机和服务器之间的网络请求速度快、网络通信能力强、网络数据交换快和TLV格式的数据解析速度快。
附图说明
图1为本发明在2G网络状态下实现快速网络通信的一种流程示意图。
图2为本发明把一段TLV格式的数据反序列化成一个struct类型的一种流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步的说明。
实施例,基于C语言的TLV格式协议快速解析方法,参见图1所示,在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;
在传输层对TCP/IP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换。
本实施例通过一个双向通信的网络通道socket长链接模块(TCP/IP+TLV)代替了普通HTTP网络模块访问(HTTP+TLV),在传输层对TCP/IP传输协议封装,采用TLV格式约定格式的数据流,能使单次接口请求时间从8s-10s减小到2s-3s,从而使得客户机和服务器之间的网络请求速度快、网络通信能力强和网络数据交换快。
在客户机或服务器的发射端,对传输的数据对象进行编码,将编码后数据对象对应的数据类型转换成数据流。
在客户机或服务器的接收端,将接受的数据对象对应的数据流转化为数据类型,对数据类型进行解码得到对应的数据对象。
TLV格式是一种可变格式,其中,T是类型tag的缩写,L是长度length的缩写,V是值value的缩写,一个基本的数据元包括TLV这三个域,tag唯一标识该数据元,tag的长度为4个字节,length的长度为2个字节,value域的长度由length来指定,value就是数据本身。
TLV格式数据对象的编码方法如下:
a1)将类型tag用htonl转换为网络字节顺序,指针偏移+4;
a2)将长度length用htonl转换为网络字节顺序,指针偏移+4;
a3)若值value数据类型为int、char、short,则将其转换为网络字节顺序,指针偏移+4;
a4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
a5)接着再继续处理后面的tlv;
TLV格式数据对象的解码方法如下:
b1)读取tag用ntohl转换为主机字节序得到类型,指针偏移+4
b2)读取lengh用ntohl转换为主机字节序得到长度;指针偏移+4
b3)根据得到的长度读取value,若value数据类型为int、char、short,用ntohl转换为主机字节序,指针偏移+4;
b4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
b5)接着再继续处理后面的tlv。
举个例子,下面是一个tlv格式的AID(应用标识符)字节串”
9F0607A0000000031010”,其中9F06是tag,07是长度,A0000000031010就是AID本身的值。对于程序编写人员来说,如果有类似上面这样一串TLV编码的字节串从卡片传过来,那么要怎样从这组字节串中提取出我们想要的数据,这就牵扯出TLV解码的问题了。类型(tag)字段是关于标签和编码格式的信息;长度(length)字段定义数值的长度,内容(value)字段表示实际的数值,因此,一个编码值又称TLV(tag,length,value)三元组;编码是基本型或结构型,如果编码表示一个简单类型的、完整的显式值,那么编码就是基本型(primitive);如果编码表示的值具有嵌套结构,那么编码就是结构型(conStructed)。
网络通道socket长链接模块的创建和连接;
客户机端使用网络通道socket长链接模块与服务器创建网络连接;
当数据发送完成后网络通道socket长链接模块的链接不断开,一直保留到异常或者是程序退出为止才断开。
这种方式的好处是不用每次去发起连接断开,在速度上可以比短连接要快一些,但是相对来说对服务器的资源压力也大,长链接用的范围很广。比如游戏***,qq等等,长链接一般还需要定时向服务器ping数据,以保证socket链接畅通。当ping不通服务器时,需要重新开启链接。
服务器端建立socket长链接的一般步骤是:
structsockaddr_inaddr;定义一个ip地址;
创建一个socket,用函数socket();
设置socket属性,用函数setsockopt();
绑定TP地址、端口等信息到socket上,用函数bind();
开启监听,用函数listen();
接收客户端上来的连接,用函数accept();
收发数据,用函数send()和recv(),或者read()和write();
关闭网络连接;
关闭监听。
客户端建立socket长链接一般步骤是:
创建一个socket,用函数socket();
设置socket属性,用函数setsockopt();
绑定IP地址、端口等信息到socket上,用函数bind();
设置要连接的对方的IP地址和端口等属性;
连接服务器,用函数connect();
收发数据,用函数send()和recv(),或者read()和write();
关闭网络连接。
通过一个双向网络通道socket长链接模块(TCP/工P+TLV)代替了普通HTTP网络模块访问(HTTP+TLV),使单次接口请求时间大大缩短,一般能使单次接口请求时间从8s-10s减小到2s-3s,极大提升了客户机和服务器之间的服务效率。
参见图2所示,在解析器内设有能把一段TLV格式的数据反序列化成一个struct类型的TLV数据解析接口;TLV数据解析接口把一段TLV格式的数据反序列化成一个struct类型的过程如下:
在解析TLV格式的数据时加入面向对象的概念,通过将一个结构体目标的指针作为“对象”传入TLV数据解析接口,利用TLV数据解析接口的UnpackTlvBuff解析函数顺序解析出所有的TLV数据段;在解析完每一段TLV数据时,利用回调函数回调出相应的TLV数据段的类型tag、长度length、值value以及“对象”,回调函数中再针对不同的“对象”作相应的数据赋值,若该TAG对应的是一个基本数据类型参数则直接赋值,若该tag对应的是一个结构体对象则再次利用UnpackTlvBuff解析函数解析出结构体对象内部的TLV数据的值value,同时传入新的“对象”以区分目标,重复以上步骤直至解析完成;这样一个解析回调函数就能完成整个多层嵌套的结构体“对象”的解析过程,从而实现多层嵌套的复杂的TLV格式协议的数据快速解析。
这样一个解析回调函数就能完成整个多层嵌套的结构体“对象”的解析过程,这样能很方便的实现多层嵌套的复杂的TLV格式协议的快速解析。从而使得客户机和服务器之间的网络请求速度快、网络通信能力强和网络数据交换快。
在C语言环境中,实现了TLV格式的数据快速解析工具;
实现的对外功能接口包括:
TLV数据解析接口
VOIDUnpackTlvBuff(void*target,uint8*pBuff,uint16bufLen,UnpackCBunpackCB)。
支持的数据类型包括所有基本类型(byteint16int32char数组等)以及包含基本类型的自定义struct类型。
在多层嵌套的TLV格式协议时,在回调函数和解析函数之间递归调用就可以实现在同一个回调函数中实现所有层次的数据解析,大大简化了代码的逻辑处理,简单易懂。
规避了“同一种类型不同tag”和“不同类型相同tag”这两种情况解析时需要特殊处理(单独使用变量标记当前处理状态和目标/结构体”对象”,根据不同状态和目标指针做不同处理)的问题。本实施例TLV格式的数据解析速度快。
上面结合附图描述了本发明的实施方式,但实现时不受上述实施例限制,本领域普通技术人员可以在所附权利要求的范围内做出各种变化或修改。
Claims (3)
1.基于C语言的TLV格式协议快速解析方法,其特征在于,在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;在传输层对TCP/IP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换;
在解析器内设有能把一段TLV格式的数据反序列化成一个struet类型的TLV数据解析接口;TLV数据解析接口把一段TLV格式的数据反序列化成一个struct类型的过程如下:
在解析TLV格式的数据时加入面向对象的概念,通过将一个结构体目标的指针作为“对象”传入TLV数据解析接口,利用TLV数据解析接口的UnpackTlvBuff解析函数顺序解析出所有的TLV数据段;在解析完每一段TLV数据时,利用回调函数回调出相应的TLV数据段的类型tag、长度length、值value以及“对象”,回调函数中再针对不同的“对象”作相应的数据赋值,若该TAG对应的是一个基本数据类型参数则直接赋值,若该tag对应的是一个结构体对象则再次利用UnpackTlvBuff解析函数解析出结构体对象内部的TLV数据的值value,同时传入新的“对象”以区分目标,重复以上步骤直至解析完成;这样一个解析回调函数就能完成整个多层嵌套的结构体“对象”的解析过程,从而实现多层嵌套的复杂的TLV格式协议的数据快速解析。
2.根据权利要求1所述的一种基于C语言的TLV格式协议快速解析方法,特征在于,(2.1)在客户机或服务器的发射端,对传输的数据对象进行编码,将编码后数据对象对应的数据类型转换成数据流;
(2.2)在客户机或服务器的接收端,将接受的数据对象对应的数据流转化为数据类型,对数据类型进行解码得到对应的数据对象;
(2.3)TLV格式是一种可变格式,其中,T是类型tag的缩写,L是长度length的缩写,V是值value的缩写,一个基本的数据元包括TLV这三个域,tag唯一标识该数据元,tag的长度为4个字节,length的长度为2个字节,value域的长度由length来指定,value就是数据本身;
(2.3.1)TLV格式数据对象的编码方法如下:
a1)将类型tag用htonl转换为网络字节顺序,指针偏移+4;
a2)将长度length用htonl转换为网络字节顺序,指针偏移+4;
a3)若值value数据类型为int、char、short,则将其转换为网络字节顺序,指针偏移+4;
a4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
a5)接着再继续处理后面的tlv;
(2.3.2)TLV格式数据对象的解码方法如下:
b1)读取tag用ntohl转换为主机字节序得到类型,指针偏移+4
b2)读取lengh用ntohl转换为主机字节序得到长度;指针偏移+4
b3)根据得到的长度读取value,若value数据类型为int、char、short,用ntohl转换为主机字节序,指针偏移+4;
b4)若值value数据类型为字符串类型,写进后,指针偏移+length+R,其中R为修正参数,R取自然数;
当值value数据类型只有一个字符串类型时,则在写进这个字符串类型后,修正参数R取0;
当值value数据类型连续出现2n(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取2;
当值value数据类型连续出现2n+1(n为正整数)个字符串类型时,则在写进第N个字符串类型后,修正参数R取3;
b5)接着再继续处理后面的tlv。
3.根据权利要求1所述的一种基于C语言的TLV格式协议快速解析方法,特征在于,网络通道socket长链接模块的创建和连接;
(3.1)客户机端使用网络通道socket长链接模块与服务器创建网络连接;
(3.2)当数据发送完成后网络通道socket长链接模块的链接不断开,一直保留到异常或者是程序退出为止才断开;
(3.3)服务器端建立socket长链接的一般步骤是:
structsockaddr_inaddr;定义一个ip地址;
(3.3.1)、创建一个socket,用函数socket();
(3.3.2)、设置socket属性,用函数setsockopt();
(3.3.3)、绑定IP地址、端口等信息到socket上,用函数bind();
(3.3.4)、开启监听,用函数listen();
(3.3.5)、接收客户端上来的连接,用函数accept();
(3.3.6)、收发数据,用函数send()和recv(),或者read()和write();
(3.3.7)、关闭网络连接;
(3.3.8)、关闭监听;
(3.4)、客户端建立socket长链接一般步骤是:
(3.4.1)、创建一个socket,用函数socket();
(3.4.2)、设置socket属性,用函数setsockopt();
(3.4.3)、绑定TP地址、端口等信息到socket上,用函数bind();
(3.4.4)、设置要连接的对方的IP地址和端口等属性;
(3.4.5)、连接服务器,用函数connect();
(3.4.6)、收发数据,用函数send()和recv(),或者read()和write();
(3.4.7)、关闭网络连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811120660.8A CN109298866A (zh) | 2018-09-26 | 2018-09-26 | 基于c语言的tlv格式协议快速解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811120660.8A CN109298866A (zh) | 2018-09-26 | 2018-09-26 | 基于c语言的tlv格式协议快速解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109298866A true CN109298866A (zh) | 2019-02-01 |
Family
ID=65164042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811120660.8A Pending CN109298866A (zh) | 2018-09-26 | 2018-09-26 | 基于c语言的tlv格式协议快速解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298866A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680051A (zh) * | 2020-05-29 | 2020-09-18 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN112084197A (zh) * | 2020-09-16 | 2020-12-15 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316241A (zh) * | 2008-07-02 | 2008-12-03 | 中兴通讯股份有限公司 | 用于通信数据的tlv格式处理方法 |
CN103036877A (zh) * | 2012-12-10 | 2013-04-10 | 北京中创信测科技股份有限公司 | 一种基于tlv格式协议的编解码代码生成装置及方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和*** |
CN104378336A (zh) * | 2013-08-16 | 2015-02-25 | 好看科技(深圳)有限公司 | 一种数据处理方法、***及服务器 |
US10003495B1 (en) * | 2014-09-20 | 2018-06-19 | Cisco Technology, Inc. | Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch |
-
2018
- 2018-09-26 CN CN201811120660.8A patent/CN109298866A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316241A (zh) * | 2008-07-02 | 2008-12-03 | 中兴通讯股份有限公司 | 用于通信数据的tlv格式处理方法 |
CN103036877A (zh) * | 2012-12-10 | 2013-04-10 | 北京中创信测科技股份有限公司 | 一种基于tlv格式协议的编解码代码生成装置及方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和*** |
CN104378336A (zh) * | 2013-08-16 | 2015-02-25 | 好看科技(深圳)有限公司 | 一种数据处理方法、***及服务器 |
US10003495B1 (en) * | 2014-09-20 | 2018-06-19 | Cisco Technology, Inc. | Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch |
Non-Patent Citations (3)
Title |
---|
CHEXLONG: "TLV 格式及编解码示例", 《HTTPS://BLOG.CSDN.NET/CHEXLONG/ARTICLE/DETAILS/6974201》 * |
周钢等: "《全国高等院校计算机基础教育"十三五"规划教材 大学计算机基础实验》", 30 June 2018, 中国铁道出版社 * |
高磊等: "《Android应用开发精解》", 30 September 2012, 北京航空航天大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680051A (zh) * | 2020-05-29 | 2020-09-18 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN111680051B (zh) * | 2020-05-29 | 2023-10-20 | 杭州趣链科技有限公司 | 一种数据序列化和反序列化方法、设备及存储介质 |
CN112084197A (zh) * | 2020-09-16 | 2020-12-15 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
CN112084197B (zh) * | 2020-09-16 | 2023-10-31 | 艾体威尔电子技术(北京)有限公司 | 一种emv协议库中数据的存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9674315B2 (en) | Methods for dynamically binding header field identifiers in a network control protocol | |
US6636521B1 (en) | Flexible runtime configurable application program interface (API) that is command independent and reusable | |
US10666718B2 (en) | Dynamic data transport between enterprise and business computing systems | |
CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
US20050027731A1 (en) | Compression dictionaries | |
WO2018165113A1 (en) | Dynamic header compression for constrained networks | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
CN109217983B (zh) | 一种工业物联网的作业终端通信协议设计方法 | |
US8683320B2 (en) | Processing module, a device, and a method for processing of XML data | |
CN109298866A (zh) | 基于c语言的tlv格式协议快速解析方法 | |
Ayoub et al. | Implementation of SCHC in NS-3 and Comparison with 6LoWPAN | |
US7512715B2 (en) | System and method for requesting a resource over at least one network with reduced overhead | |
CN110888329A (zh) | 设备厂家开放式接入的智能家居平台及其数据处理方法 | |
CN105516372B (zh) | 文件名的处理方法、装置及服务器 | |
CN103647763A (zh) | 一种移动终端广告调用方法和*** | |
US20190245802A1 (en) | Methods, apparatuses and computer-readable storage mediums for communication via user services platform | |
US20060114892A1 (en) | Method and apparatus to transmit state information through a communication link | |
CN100401671C (zh) | 一种文件传送方法 | |
CN115883633A (zh) | 基于Dubbo框架的请求处理方法及装置 | |
CN109067919A (zh) | 在2g网络状态下实现快速网络请求的方法 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN108563604A (zh) | Pcs协议复用芯片和方法 | |
CN112953988B (zh) | 一种基于ftp的数据对接方法及装置 | |
CN105183750B (zh) | 紧凑式xml解析*** | |
CN103929447A (zh) | 一种解析HTTP chunked编码数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190201 |