[发明专利]一种支持多平台网络通讯处理系统及方法有效
申请号: | 201110292264.5 | 申请日: | 2011-09-29 |
公开(公告)号: | CN102316116A | 公开(公告)日: | 2012-01-11 |
发明(设计)人: | 陈聪 | 申请(专利权)人: | 广东高新兴通信股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 禹小明;邱奕才 |
地址: | 510530 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 平台 网络通讯 处理 系统 方法 | ||
技术领域
本发明属于网络通信领域,具体涉及一种支持多平台网络通讯处理系统及方法。
背景技术
TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。面向连接的协议在任何数据传输前就建立好了点到点的连接。当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是最好的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下。在现有技术中,TCP和UDP两者都不可互相替代。而当前的一些网络通讯处理技术未能全面地覆盖同时进行TCP和UDP通讯的需求,TCP或UDP只能选择其一,而且现有技术中,未能将客户端服务端融为一体,未能实现跨平台windows、linux、winmoble等操作系统的移植等,不能很好满足业务的需要。
发明内容
针对现有技术的缺点,本发明的目的是提供一种能够将TCP、UDP融为一体,并具有良好移植性的支持多平台网络通讯处理系统及方法。
为实现上述目的,本发明的一种支持多平台网络通讯处理系统,包括与上层应用系统连接的网络库模块,所述网路库模块中设置有:
通道创建模块,用于请求网络库模块创建新通道并执行创建新通道;
通道关闭模块,用于请求网络库模块关闭通道并执行关闭通道;
设置用户数据和回调函数模块,用于设置和保存用户数据和回调函数指针并执行调用回调函数;
网络事件处理模块,设置有相互连接的线程池和epoll模块,用于处理epollin事件;
通道创建模块、通道关闭模块、设置用户数据和回调函数模块分别与网络事件处理模块连接,设置用户数据和回调函数模块还与上层应用系统连接。
作为一种优选方案,还包括保存有通道队列的通道队列模块,其与通道创建模块、通道关闭模块连接。
作为进一步的优选方案,所述通道创建模块创建新通道的具体步骤包括:
a1.请求网络库模块创建通道,所述通道为TCP通道或UDP通道;
a2.输入新通道参数,所述参数包括IP地址、端口号和协议类型;
a3.创建新通道,根据步骤a2中的参数初始化通道参数,完成端口或EPOLL的加入;
a4.将创建的新通道保持到通道队列模块中。
作为进一步的优选方案,所述通道关闭模块关闭通道的具体步骤包括:
b1.请求网络库模块关闭通道,所述通道为TCP通道或者UDP通道;
b2.输入需要关闭的通道指针;
b3.关闭通道,并释放通道内存资源;
b4.将关闭的通道从通道队列模块中移除。
作为另一种优选方案,网络事件处理模块设置有:
监听连接模块,与设置用户数据和回调函数模块、通道创建模块连接,用于接收新连接并通知通道创建模块创建新通道;
发送数据模块,与上层应用系统连接,用于将上层应用系统的数据发送至目的方;
通道超时检查模块,与通道队列模块连接,用于检查通道队列模块中通道的活动状态,超过预定时间唯有通讯记录的通道标记为超时;
接收数据模块,与设置用户数据和回调函数模块连接,用于接收数据并通告设置用户数据和回调函数模块回调通知上层系统;
通道中断模块,与设置用户数据和回调函数模块连接,用于检查通道中断并通过设置用户数据和回调函数模块回调通知上层应用系统;
重新连接模块,与通道中断模块、设置用户数据和回调函数模块连接,用于通道中断后自动重新连接,并将重连结果通过设置用户数据和回调函数模块回调通知上层应用系统。
本发明的第二个目的是实现一种支持多平台网络通讯处理方法,包括如下步骤:
A.启动一个线程检测epoll,当epoll中响应通道的epollin事件,将该epollin事件的响应从epoll中去掉,进入步骤B;
B.步骤A中的epollin事件加入到线程池中执行, 并返回步骤A;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东高新兴通信股份有限公司,未经广东高新兴通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110292264.5/2.html,转载请声明来源钻瓜专利网。