qt5-Tcp端口转发服务器
代码已开源上传码云:https://gitee.com/fensnote/qt5tcp_port_forwarding_server
项目介绍
基于qt5做的tcp端口转发服务器,可以实现多连接支持,多端口转发
软件功能
这个代码是个简单的Qt5做的TCP服务器
转发实现原理:
client----->|server:client|—>svr
监听指定的TCP端口,当端口有客户端连接时,就会向指定的远端服务器发起一个tcp连接;
这样的一个一对连接,在这里我称之为一个forwardTask;
监听端口支持多个tcp连接,每来一个客户端连接,就会新建一个forwardTask对象;
支持多端口监听;
使用场景
1.于客户端与服务器网络不通的情况,可以使用该服务器进行转发;
2.通信调试,监视数据;
版本记录
2022-03-24 V2.0.0:
- 这次改动比较大,基本上所有文件都涉及到改动,主要是修改上下行日志的展现形式。
- 将收到的设备数据和收到的服务器的数据放在一起展示,这样比较方便看出来数据交换流程,即请求与匹配的响应在一起。
- 修改数据接收的时间,增加毫秒,便于查看通讯消息的响应时间。
- 增加了两个自定义发生命令的输入框,用于调试过程中,手动组测试数据进行发生测试;可以向服务端发送,也可以向客户端(设备)发送。
- 现在的主界面中,右半部分的日志界面,单独抽出来新建了一个QWidget(CDataWidget),单独处理日志展现与发送控制。
- 现在是一个转发配置对应一个CDataWidget界面,互不干扰,原来是公用一个,不利于日志查看。但是我感觉现在做的仍然不够完善,以后有时间了再做修改,大家有时间的话也可以修改一下。下一步想做的修改是修改为每一个转发任务对应一个CDataWidget,这样才能做到真正的互不干扰,因为一个转发配置下面可能会有多个转发任务。
- 新版本如有问题欢迎大家留言反馈,谢谢~
截图