[发明专利]一种基于TCP Socket和改进心跳机制的内网穿透方法和系统有效
申请号: | 202011261194.2 | 申请日: | 2020-11-12 |
公开(公告)号: | CN112398847B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 黄智远;张惠臻;陈友庆 | 申请(专利权)人: | 华侨大学 |
主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L67/30;H04L67/54;H04L67/146;G06F9/54 |
代理公司: | 厦门市首创君合专利事务所有限公司 35204 | 代理人: | 张松亭 |
地址: | 362000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tcp socket 改进 心跳 机制 穿透 方法 系统 | ||
1.一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,包括如下步骤:
用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接;
外网心跳服务端向内网心跳客户端发送激活数据包;
内网心跳客户端接收到激活数据包后,激活内网客户端,使得内网第一客户端主动连接部署在内网的应用,内网第二客户端主动连接外网第二服务端;
内网应用程序将响应发送到内网第一客户端,内网第一客户端接收到数据包后放入缓冲区,由内网第二客户端转发给外网第二服务端,外网第二服务端接收到请求后将数据包放入缓冲区,由外网第一服务端转发给用户。
2.根据权利要求1所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,当没有接收到用户请求时;
外网心跳服务端向内网心跳客户端发送心跳包;
内网心跳客户端判断外网心跳服务端发送的是心跳包后,回应握手包。
3.根据权利要求2所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
将外网第一服务端、外网心跳服务端以及外网第二服务端的模式设置为阻塞式,并在外网心跳服务端程序中设置心跳标志变量标示心跳服务是否建立;
将外网第一服务端和外网第二服务端加入监听列表。
4.根据权利要求2所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
读取配置文件,获取内网客户端所要连接的远程IP以及端口号。
5.根据权利要求4所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,外网心跳服务端向内网心跳客户端发送心跳包之后,还包括如下步骤:
开启线程进行心跳监测,当接收到内网心跳客户端在收到心跳包后回复的握手包时,将心跳标示变量设为True;
循环监听外网第一服务端和外网第二服务端,当监听列表中无事件发生时,进程被阻塞,如存在一个及以上的监听事件发生,进程被唤醒。
6.一种基于TCP Socket和改进心跳机制的内网穿透系统,其特征在于,包括:
移动端,用于发送用户请求;
外网服务器,包括外网心跳服务端、外网第一服务端和外网第二服务端,所述外网第一服务端用于接收所述用户请求并与移动端建立连接,外网心跳服务端与内网心跳客户端建立连接,用于向内网心跳客户端发送心跳包和激活数据包,外网第二服务端与内网第二服务端建立连接,用于传递数据;
内网服务器,包括内网心跳客户端、内网第一客户端和内网第二客户端,所述内网第一客户端用于连接内网应用程序,内网心跳客户端与外网心跳服务端建立连接,用于接收外网心跳客户端发送的心跳包和激活数据包,并做出反馈,内网第二服务端与外网第二服务端建立连接,用于传递数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华侨大学,未经华侨大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011261194.2/1.html,转载请声明来源钻瓜专利网。