[发明专利]一种支持多平台网络通讯处理系统及方法有效
申请号: | 201110292264.5 | 申请日: | 2011-09-29 |
公开(公告)号: | CN102316116A | 公开(公告)日: | 2012-01-11 |
发明(设计)人: | 陈聪 | 申请(专利权)人: | 广东高新兴通信股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 禹小明;邱奕才 |
地址: | 510530 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 平台 网络通讯 处理 系统 方法 | ||
1.一种支持多平台网络通讯处理系统,其特征在于,包括与上层应用系统连接的网络库模块,所述网路库模块中设置有:
通道创建模块,用于请求网络库模块创建新通道并执行创建新通道;
通道关闭模块,用于请求网络库模块关闭通道并执行关闭通道;
设置用户数据和回调函数模块,用于设置和保存用户数据和回调函数指针并执行调用回调函数;
网络事件处理模块,设置有相互连接的线程池和epoll模块,用于处理epollin事件;
通道创建模块、通道关闭模块、设置用户数据和回调函数模块分别与网络事件处理模块连接,设置用户数据和回调函数模块还与上层应用系统连接。
2.根据权利要求1所述的支持多平台网络通讯处理系统,其特征在于,还包括保存有通道队列的通道队列模块,其与通道创建模块、通道关闭模块连接。
3.根据权利要求2所述的支持多平台网络通讯处理系统,其特征在于,所述通道创建模块创建新通道的具体步骤包括:
a1.请求网络库模块创建通道,所述通道为TCP通道或UDP通道;
a2.输入新通道参数,所述参数包括IP地址、端口号和协议类型;
a3.创建新通道,根据步骤a2中的参数初始化通道参数,完成端口或EPOLL的加入;
a4.将创建的新通道保持到通道队列模块中。
4.根据权利要求2所述的支持多平台网络通讯处理系统,其特征在于,所述通道关闭模块关闭通道的具体步骤包括:
b1.请求网络库模块关闭通道,所述通道为TCP通道或者UDP通道;
b2.输入需要关闭的通道指针;
b3.关闭通道,并释放通道内存资源;
b4.将关闭的通道从通道队列模块中移除。
5.根据权利要求1所述的支持多平台网络通讯处理系统,其特征在于,网络事件处理模块还设置有:
监听连接模块,与设置用户数据和回调函数模块、通道创建模块连接,用于接收新连接并通知通道创建模块创建新通道;
发送数据模块,与上层应用系统连接,用于将上层应用系统的数据发送至目的方;
通道超时检查模块,与通道队列模块连接,用于检查通道队列模块中通道的活动状态,超过预定时间唯有通讯记录的通道标记为超时;
接收数据模块,与设置用户数据和回调函数模块连接,用于接收数据并通告设置用户数据和回调函数模块回调通知上层系统;
通道中断模块,与设置用户数据和回调函数模块连接,用于检查通道中断并通过设置用户数据和回调函数模块回调通知上层应用系统;
重新连接模块,与通道中断模块、设置用户数据和回调函数模块连接,用于通道中断后自动重新连接,并将重连结果通过设置用户数据和回调函数模块回调通知上层应用系统。
6.一种支持多平台网络通讯处理方法,其特征在于,包括如下步骤:
A.启动一个线程检测epoll,当epoll中响应通道的epollin事件,将该epollin事件的响应从epoll中去掉,进入步骤B;
B.步骤A中的epollin事件加入到线程池中执行, 并返回步骤A;
C.当线程池中有epollin事件加入,则判断通道是否接收到数据,若有则进入步骤D,若没有则进入步骤J;
D. 判断接收到数据的通道是否为UDP的服务端通道,若是则进入步骤E,否则进入步骤H;
E.判断接收到数据的通道是否为新通道,若是则进入步骤F,否则进入步骤H;
F.判断当前系统是否达到最大通道数,若是则进入步骤I,否则进入步骤G;
G.创建新通道,进入步骤H;
H.通过回调函数回调通知上层应用系统接收到数据,并进入步骤I;
I.发起下一次数据接收,并返回步骤C;
J.判断通道是否中断,若是则进入步骤H,否则继续加入epoll,等待下次事件响应,结束;
K.对该中断的通道设置通道中断标志并结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东高新兴通信股份有限公司,未经广东高新兴通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110292264.5/1.html,转载请声明来源钻瓜专利网。