[发明专利]一种基于TCP/IP通信协议的网络通信系统及方法有效

专利信息
申请号: 201610812431.7 申请日: 2016-09-08
公开(公告)号: CN106375324B 公开(公告)日: 2020-02-14
发明(设计)人: 宁运琨;赵国如;李慧奇;梁升云 申请(专利权)人: 深圳先进技术研究院
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 44316 深圳市科进知识产权代理事务所(普通合伙) 代理人: 赵勍毅
地址: 518055 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供的基于TCP/IP通信协议的网络通信系统,包括:服务器及与至少一客户端,服务器用于创建动态链表,动态链表包括一头结点和若干子结点,以头结点为起始,每个结点通过指针域next依次串联构成所述动态链表,服务器通过调用epoll_wait函数,判断客户端是否有通信事件触发,若是,退出epoll_wait函数,遍历并处理所述通信事件;若否,采用阻塞的方式等待客户端通信事件的触发,本发明利用epoll服务器通信模型,提出了通过动态链表的方式实现客户端上线、下线、客户端与服务器,客户端与客户端之间通信,解决了一般服务器不能满足大规模用户连接的缺陷并利用计算机硬件资源提高了服务器的内存使用率。
搜索关键词: 一种 基于 tcp ip 通信协议 网络 通信 系统 方法
【主权项】:
1.一种基于TCP/IP通信协议的网络通信方法,其特征在于,包括下述步骤:/n步骤S110:对服务器Socket通信参数进行初始化;/n步骤S120:所述服务器建立并监听socket套接字描述符socket_fd;/n步骤S130:对所述服务器的模型epoll进行初始化;/n步骤S140:所述服务器创建动态链表并启动控制心跳包的系统定时器;/n步骤S150:所述服务器调用epoll_wait函数,并判断客户端是否有通信事件触发,若是,退出epoll_wait函数,所述服务器遍历并处理所述通信事件;若否,采用阻塞的方式等待客户端通信事件的触发;/n其中,所述动态链表包括一头结点和若干子结点,以所述头结点为起始,每个结点通过指针域next依次串联构成所述动态链表,每个结点包括:客户端数据域和存储下一个结点地址的指针域next;/n其中,所述通信事件包括新的客户端发起TCP连接请求命令、已经建立连接的客户端发起上线命令、客户端之间的通信请求及客户端的下线请求;/n其中,在步骤S150中,所述服务器遍历并处理所述通信事件,当所述通信事件为客户端之间的通信请求,具体包括下述步骤:/nepoll_wait函数发现触发待处理的事件为socket套接字描述符,记为fd;/n根据fd调用read函数;/n判断read返回值是否大于0,若是,进行下一步;若否,进行其他处理;/n判断数据包是否为DATA;ID_send;ID_rec;content;@的格式,其中,其中ID_send表示发送方的ID号,记为客户端Ⅰ的ID,ID_rec表示接收方的ID号,记为客户端Ⅱ的ID,若是,进行下一步;若否,根据协议对其他数据包或者命令进行处理;/n提取ID_send,ID_rec,content信息;/n通过ID_rec查找所述动态链表,判断ID_rec是否在所述动态链表上,若是,进行下一步;若否,给所述客户端Ⅰ的ID_send发送返回错误代码;/n通过ID_rec查找所述动态链表,找出ID_rec对应的fd;/n通过ID_rec的fd,调用write函数将content发送给ID_rec。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201610812431.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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