基于Golang实现TCP端口转发并记录转发数据
2022-08-24 17:33 作者:yanpengquan | 我要投稿
最近在完成工作时遇到物联网设备的链接及上报内容不清楚现象,且有时候后端服务出现故障导致无法完成设备上报的数据处理,为了方便调试和保证物联网设备的正常工作,设计并编写此小软件用于跨平台完成TCP链接接入并选择个合适的目标节点进行连接,支持复制链接内容用于内外网调试等功能。所有代码基于Golang完成。
一、配置文件定义
使用golang库:github.com/spf13/viper 进行配置文件的管理工作
该库支持多种配置文件格式且具有较强的扩展性,目前我主要使用yaml和json格式配置文件
为了满足配置需求,每个链接节点的配置结构如下:
二、读取配置文件
三、启动服务并进行配置文件解析
四、接受连接
五、转发数据并记录
源码:https://gitee.com/tansuyun/tcp-port-forwarding