[发明专利]发送数据的方法、接收数据的处理方法和装置无效
| 申请号: | 201010034290.3 | 申请日: | 2010-01-20 |
| 公开(公告)号: | CN101753586A | 公开(公告)日: | 2010-06-23 |
| 发明(设计)人: | 胡长柏;刘卫昌 | 申请(专利权)人: | 北京数码视讯科技股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚 |
| 地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 发送 数据 方法 接收 处理 装置 | ||
技术领域
本发明涉及通信领域,更具体地,涉及发送数据的方法和装置,以及接收数据的处理方法和装置。
背景技术
在应用开发过程中,经常需要把数据可靠地从一个应用程序发送到另一个应用程序,并且传输的数据一般为有顺序、带结构(定长或者不定长)的数据,接收方通常需要对这些数据进行分包处理。
相关数据传输技术中有以下几种方式:
1)采用UDP(User Datagram Protocol,用户数据报协议)进行数据的网络传输
UDP协议是数据报模式,数据是通过数据包一个一个地发送的,采用UDP来进行数据网络传输,其数据包很可能会丢失,或者数据包的顺序会变化,因此UDP协议不适用于对顺序和传输可靠性要求高的数据传输。
2)采用TCP(Transport Control Protocol,传输控制协议)进行数据的网络传输
TCP协议是流模式,是一个面向连接的传输层协议,TCP的目标是为用户提供可靠的端到端连接,保证信息有序无误的传输;它除了提供基本的数据传输功能外,为保证可靠性还采用了数据编号、校验和计算、数据确认等一系列措施。TCP协议对传送的每个数据字节都进行编号,并请求接收方回传确认信息(Ack),TCP协议是一种可靠的数据传输服务。由于TCP是流模式,且TCP数据不封包,没有边界,接收方可能一次接收到某一个数据包或者一个数据包和下一个数据包的一部分或者几个包等等,这时接收方接收的数据不是发送时的一个一个数据包,而是数据包粘到了一起,即“粘包”。如果此时TCP传输的是有结构(定长的数据结构、不定长数据结构)的数据信息,则会造成接收方无法对这些数据进行分包处理。
3)采用RPC(Remote Procedure Call Protocol,远程过程调用)进行数据的网络传输
RPC进行数据传输时,需要将待发送的数据打包,然后将打好的数据包一个一个地发送到接收方;接收方将根据不同的数据结构进行接收处理。而RPC某种程度上依赖于操作系统,依赖于应用程序的开发工具,不能跨平台通讯;另外,RPC是被动式的通讯不能主动通知通讯,这种方式对于不同厂家采用不同的开发工具或平台或者需要双向通讯的情况不能顺利进行。
发明人在实现本发明的过程中发现,上述方法均不能可靠地传输有顺序、有结构信息的数据,且目前对于该问题仍没有可行的解决方案。
发明内容
本发明旨在提供一种发送数据的方法和装置,以及接收数据的处理方法和装置,能够可靠地传输有顺序、有结构信息的数据和普通数据。
根据本发明的一个方面,提供了一种发送数据的方法,所述方法包括:
确定需要发送的数据对应的数据结构;
根据所述数据结构确定命令类型和数据长度;
首次发送所述数据结构中的数据时,按照指定的数据包格式存储当前数据,并以TCP方式发送所述当前数据;
其中,所述指定的数据包格式包括命令包头和所述当前数据,所述命令包头携带所述命令类型和所述数据长度。
根据本发明的另一方面,还提供了一种接收数据的处理方法,所述方法包括:
将接收的数据包中的数据缓存到缓冲区,所述数据包包括命令包头,所述命令包头携带所述命令类型和所述数据长度;
根据所述数据长度对所述缓冲区中的数据进行分包;
根据所述命令类型对分包后的数据包进行处理。
根据本发明的另一方面,还提供了一种发送数据的装置,所述装置包括:
数据结构确定模块,用于确定需要发送的数据对应的数据结构;
类型和长度确定模块,用于根据所述数据结构确定模块确定的数据结构确定命令类型和数据长度;
发送模块,用于首次发送所述数据结构中的数据时,按照指定的数据包格式存储当前数据,并以TCP方式发送所述当前数据;
其中,所述指定的数据包格式包括命令包头和所述当前数据,所述命令包头携带所述类型和长度确定模块确定的命令类型和数据长度。
根据本发明的另一方面,还提供了一种接收数据的处理装置,所述装置包括:
缓存模块,用于将接收的数据包中的数据缓存到缓冲区,所述数据包包括命令包头,所述命令包头携带所述命令类型和所述数据长度;
分包模块,用于根据所述数据长度对所述缓冲区中的数据进行分包;
处理模块,用于根据所述命令包头中的命令类型,对所述分包模块分包后的数据包进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数码视讯科技股份有限公司,未经北京数码视讯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010034290.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种给料机
- 下一篇:野战单兵常态便携式复合型应急自救补给食饮制品
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





