java 实现内网服务代理(mysql tcp请求)

1. 背景

自己也跟着书籍、博客、视频学习过Netty,还没有自己用它做过什么东西,一直有想实践的想法。恰巧有一个以前的同事说他现在工作遇到了内网安装的mysql等需要在自己家里访问的需求,他有了点想法想实现这个,聊了聊我也有了兴趣,于是周末加了个班,网上搜搜资料实现了下面的功能。

2. 功能介绍

可以实现代理tcp请求比如mysql,可以执行mysql的任意请求

3. 工程介绍

proxynet-client  客户端服务

proxynet-common 公共工程

proxynet-server 服务端服务

proxynet-test 测试程序

4. 运行步骤

4.1 拉取代码

将代码拉 proxynet: 网络代理 拉取到本地

4.2 使用idea打开,默认maven拉取所需依赖

4.3 准备环境

本地的mysql,创建 数据库 jeecg-boot ,数据库的用户名为root,密码为 admin123,不是的自己修改就行,在数据库中 使用proxynet-test工程的resources目录下的sys_role.sql脚本创建sys_role表

4.4运行服务端服务

在proxynet-server工程下运行ProxynetServerApplication类,启动服务端服务

java 实现内网服务代理(mysql tcp请求)_第1张图片

 看到如下则表示服务端启动成功

4.5 运行客户端服务

在proxynet-client工程下运行ProxynetClientApplication类,启动客户端服务

java 实现内网服务代理(mysql tcp请求)_第2张图片

 看到如下则表示客户端启动成功

4.6 使用代码测试

打开proxynet-test工程下的JdbcTest类,运行看到如下结果则证明代理成功

java 实现内网服务代理(mysql tcp请求)_第3张图片

 4.7 使用工具测试

你也可以打开Navicate等工具来使用代理连接mysql进行测试

5. 设计原理

业务架构图:

java 实现内网服务代理(mysql tcp请求)_第4张图片

 业务流程图:

java 实现内网服务代理(mysql tcp请求)_第5张图片

你可能感兴趣的:(java,开发语言)