[发明专利]一种基于Socket连接的多通道双工通讯方法有效
申请号: | 201510562879.3 | 申请日: | 2015-09-07 |
公开(公告)号: | CN105119926B | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 李正;黄勇;刘海英;刘艳民;焦高超 | 申请(专利权)人: | 中科宇图天下科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L5/14 |
代理公司: | 北京市盛峰律师事务所11337 | 代理人: | 席小东 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 socket 连接 通道 双工 通讯 方法 | ||
技术领域
本发明属于通讯技术领域,具体涉及一种基于Socket连接的多通道双工通讯方法。
背景技术
现阶段,服务器端和客户端之间的Socket连接建立过程为:
(1)服务器端侦听某一端口,等待客户端的Socket连接请求;
(2)客户端向服务器端发送Socket连接请求,其中,该Socket连接请求携带有客户端的地址和端口号;
(3)当服务器端监听到客户端所发送的连接请求时,服务器端创建一个新的线程,通过线程管理服务器端和客户端正式建立的Socket连接,服务器端在建立Socket连接后,客户端与服务器端即可进行基于TCP/IP的通讯。
然而,在Socket通讯类软件研发的过程中,需要频繁的针对Socket连接进行创建、使用、销毁等操作;而每建立一个Socket连接,服务器端均需要启动一个线程,对该Socket连接进行管理,由此导致Socket连接的管理效率低下,占用了服务器端大量的CPU和内存等资源。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于Socket连接的多通道双工通讯方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种基于Socket连接的多通道双工通讯方法,包括以下步骤:
步骤1:分别创建适配器、服务器端Socket容器和客户端Socket容器;所述适配器分别与所述服务器端Socket容器和所述客户端Socket容器连接;
其中,所述适配器用于记录需建立Socket连接的服务器端地址和客户端地址的匹配关系;
所述服务器端Socket容器用于存储已被所述适配器记录匹配关系的服务器端套接字,其中,所述服务器端套接字包含所述服务器端地址;
所述客户端Socket容器用于存储已被所述适配器记录匹配关系的客户端套接字,其中,所述客户端套接字包含所述客户端地址;
步骤2,每当所述适配器已记录服务器端地址和客户端地址的匹配关系之后,在已建立匹配关系的服务器端创建服务器端发送队列和服务器接收队列;
在已建立匹配关系的客户端创建客户端发送队列和客户端接收队列;
步骤3,所述适配器对所述服务器端发送队列和所述客户端发送队列进行监听,每当监听到所述客户端发送队列中存在所述客户端添加的待发送客户端消息时,执行步骤4;每当监听到所述服务器端发送队列中存在所述服务器端添加的待发送服务器端消息时,执行步骤5;
步骤4,所述适配器对所述待发送客户端消息进行解析,提取到该待发送客户端消息所携带的客户端地址和服务器端地址;
然后,所述适配器判断提取到的客户端地址和服务器端地址是否已建立匹配关系,如果没有,则结束流程;如果有,则所述适配器对所述服务器端Socket容器进行查找,得到与本次匹配关系对应的服务器端套接字;所述服务器端套接字将待发送客户端消息发送到对应的服务器端接收队列,使对应的服务器端通过读取自身的服务器端接收队列,接收到来自客户端的消息;
步骤5,所述适配器对所述待发送服务器端消息进行解析,提取到该待发送服务器端消息所携带的客户端地址和服务器端地址;
然后,所述适配器判断提取到的客户端地址和服务器端地址是否已建立匹配关系,如果没有,则结束流程;如果有,则所述适配器对所述客户端Socket容器进行查找,得到与本次匹配关系对应的客户端套接字;所述客户端套接字将待发送服务器端消息发送到对应的客户端接收队列,使对应的客户端通过读取自身的客户端接收队列,接收到来自服务器端的消息。
优选的,步骤1中,所述适配器用于记录需建立Socket连接的服务器端地址和客户端地址的匹配关系,具体指:
在每台服务器端部署唯一对应的链接监听器,通过所述链接监听器对服务器端的地址进行监听,当监听到服务器端接收到来自客户端的Socket连接建立请求时,所述链接监听器对该Socket连接建立请求进行解析,获得客户端地址以及服务器端地址;
然后,所述链接监听器将所获得的客户端地址以及服务器端地址发送给所述适配器;
所述适配器记录需建立Socket连接的服务器端地址和客户端地址的匹配关系。
优选的,所述客户端地址指客户端IP地址和/或端口号;所述服务器端地址指服务器端IP地址和/或端口号。
优选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科宇图天下科技有限公司,未经中科宇图天下科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510562879.3/2.html,转载请声明来源钻瓜专利网。