[发明专利]一种基于socket连接的数据传输系统及方法有效
申请号: | 201210472941.6 | 申请日: | 2012-11-20 |
公开(公告)号: | CN102984237A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 官元峰 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12;H04L29/06 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 socket 连接 数据传输 系统 方法 | ||
技术领域
本发明涉及一种基于socket连接的数据传输系统及方法,属于无线通信领域。
背景技术
如图1所示的网络中,客户端主机只能访问代理服务器的特定端口,并且不能直接访问外部网络,但要实现从客户端建立到外部网络的服务TCP连接:
常用的代理协议包括HTTP代理和socks代理,前者只能服务于基于HTTP协议的应用,相对于HTTP代理socks协议运行在底层中,socks协议中,客户端使用握手协议告知代理服务器想要建立的连接信息以及使用哪种协议(TCP/UDP)。
socks的工作过程:
客户端A想要通过internet与客户端B进行通讯,但他们之间有防火墙,客户端A自己并没有获得建立这个连接的授权。所以客户端A先连接到一个可以连接到客户端B的socks代理服务器,并告诉代理他想要建立与客户端B的连接,同时发送socks协议头,告知客户端B的地址和端口号,然后socks代理服务器自己通过防火墙建立到客户端B的连接,之后在客户端A和客户端B之间进行数据转发。
但使用socks代理的前提是客户端软件需要对该协议的支持,而实际上现在的大多数常用软件并不支持,因此,我们需要一个中间层来完成这种协议的转换。
发明内容
本发明所要解决的技术问题是提供一种无需客户端软件支持而使用socket连接的数据传输方法及系统。
本发明解决上述技术问题的技术方案如下:一种基于socket连接的数据传输方法,具体步骤如下:
步骤1:在本地代理服务器中建立一个本地代理端口列表,每个本地代理端口对应一个远程服务端的地址;在远程代理服务器中设置一个远程代理端口;
步骤2:本地代理服务器实时监听所有本地代理端口;
步骤3:判断是否有本地代理端口接收到来自本地客户端的连接请求,如果有,进入步骤4,否则返回步骤2;
步骤4:本地客户端与被请求连接的本地代理端口建立连接L1;
步骤5:在本地代理端口列表中查找被请求连接的本地代理端口对应的远程服务端的地址;
步骤6:远程代理服务器实时监听远程代理端口;
步骤7:判断远程代理端口是否接收到来自本地代理服务器的连接请求,如果有,进入步骤8,否则返回步骤6;
步骤8:本地代理服务器与远程代理服务器的代理端口建立连接L2,并与远程代理服务器握手并告知要连接的远程服务端的地址A1;
步骤9:远程代理服务器根据获得的远程服务端的地址A1与相应的远程服务端建立连接L3;
步骤10:本地客户端与远程服务端之间通过连接L1、L2、L3进行数据传输。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述所述步骤10中进行数据传输的具体步骤如下:
步骤10.1:所述本地客户端和远程服务端发送和接收数据;
步骤10.2:所述本地代理服务器检测连接L1、L2上的可读状态,远程代理服务器检测连接L2、L3的可读状态;
步骤10.3:当本地代理服务器和远程代理服务器检测到任何一条与之相连的连接为可读时,读取该连接上的数据并写入到与之相连的另一条连接上;
步骤10.4:检测读写过程中是否存在异常,如果存在则断开并清理连接,终止本次代理通讯;否则清理缓存,并返回步骤10.2。
本发明解决上述技术问题的技术方案如下:一种基于socket连接的数据传输系统,包括本地客户端、本地代理服务器、远程代理服务器和远程服务端;
所述本地代理服务器与本地客户端相连,所述远程代理服务器与本地代理服务器相连,所述远程服务端与远程代理服务器相连;
所述本地客户端用于向本地代理服务器发送数据和接收本地代理服务器传来的数据;
所述本地代理服务器与远程代理服务器用于在本地客户端与远程服务端之间建立连接链路和进行数据传输;
所述远程服务端用于向远程代理服务器发送数据和接收远程代理服务器传来的数据。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述本地代理服务器中设有一个本地代理端口列表,每个本地代理端口对应一个远程服务端的地址;在远程代理服务器中设置一个的远程代理端口。
进一步,所述本地代理端口列表用于查找本地端口相对应的远程服务端的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210472941.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多联式空调系统
- 下一篇:基于CAN总线的家用空调控制系统