[发明专利]基于Windows的TCP/IP协议的网络传输方法有效

专利信息
申请号: 201410120252.8 申请日: 2014-03-27
公开(公告)号: CN103873474B 公开(公告)日: 2017-05-17
发明(设计)人: 许广柱;李双军;唐云龙;章萌 申请(专利权)人: 西安航天动力试验技术研究所
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 西安智邦专利商标代理有限公司61211 代理人: 王少文
地址: 710100 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 windows tcp ip 协议 网络 传输 方法
【权利要求书】:

1.一种基于Windows的TCP/IP协议的网络传输方法,其特征在于:包括以下步骤:

1)应用层调用内核层的操作系统功能;

具体是:应用层调用操作系统的IOCP系统函数与内核层进行交互;

2)应用层和内核层对接:

2.1)应用层向内核层提供功能接口,开辟线程池、缓冲池,并向内核层提出网络传输需求;

2.2)应用层直接向内核层投递多个AcceptEx异步连接请求;

2.3)应用层直接向内核层投递多个数据接收请求;

3)内核层检测网络端口的信号;

4)数据传输:

A)若信号为“连接请求”,则内核层从缓冲池中取出一个AcceptEx异步连接进行连接请求处理,并保持此连接;内核层利用上述连接进行数据发送或者接收;若连接中止,则内核层将取出的连接位置返回连接缓冲池中,等待下一个指令;

B)若信号为“发送请求”,则应用层将数据打包后通过步骤2.1提供的接口,传输给内核层,内核层通过硬件端口发送数据;

C)若信号为“接收请求”,则内核层通过步骤2.1提供的接口,传输数据给应用层,应用层进行数据处理;具体步骤如下:

应用层提供的数据接收处理模块在独立的线程中,内核层数据传输到达之后,应用层从线程池中取出一个线程并唤醒此线程,利用此线程进行处理并将数据放入缓冲池中,从而进行下一步的数据处理;在数据缓冲的同时,应用层向内核层投递新的数据接收请求,则内核层立即返回并等待接收另一个数据包。

2.根据权利要求1所述的基于Windows的TCP/IP协议的网络传输方法,其特征在于:当进行步骤4的C)中出现“数据粘包”时:具体解决步骤如下:

(1)应用层根据数据包头中数据包的大小,并利用数据缓冲池中已有的数据块序列号对粘包情况进行判读;

(2)应用层从线程池中取出一个线程,在此线程中根据数据包的数据结构对数据块剥离;

(3)若零散数据块已经能构成完整数据包,则打包这些数据块形成完整数据包;若数据仍然不完整,则将此数据块放入缓冲池中并编号等待下次数据包。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安航天动力试验技术研究所,未经西安航天动力试验技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410120252.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top