You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TCP 转发服务
功能
- 监听 TCP 端口(默认 9600),接收外部命令
- 根据命令向远端 TCP 服务发送对应消息
- 启动后自动延时发送
<1,1,post>
命令流程
| TCP 收到(服务端) |
远端 TCP 发送 |
后续动作 |
<1,0,post> |
<1,1,post> |
- |
<1,1,post> |
<1,0,post> |
延时后自动再发 <1,1,post> |
| 启动延时 |
<1,1,post> |
仅一次 |
配置说明 (config.json)
| 字段 |
默认值 |
说明 |
server.port |
9600 |
本机 TCP 监听端口 |
remote.host |
127.0.0.1 |
远端 TCP 服务地址 |
remote.port |
9000 |
远端 TCP 服务端口 |
remote.dial_timeout_seconds |
5 |
连接远端超时秒数 |
timing.startup_delay_seconds |
180 |
启动后延时发送秒数(默认 3 分钟) |
timing.resend_delay_seconds |
180 |
收到 <1,1,post> 后重发延时秒数(默认 3 分钟) |
log.dir |
logs |
日志目录 |
log.level |
info |
日志级别: debug/info/warn/error |
log.keep_days |
60 |
日志保留天数,超期自动删除 |
reverse |
false |
true=正(反转发送逻辑), false=反(默认不变) |
正反参数说明
reverse |
收到 <1,0,post> 时发送 |
收到 <1,1,post> 时发送 |
启动/退出/定时发送 |
false(反,默认) |
<1,1,post> |
<1,0,post> |
<1,1,post> |
true(正) |
<1,0,post> |
<1,1,post> |
<1,0,post> |
日志
- 按天滚动:
logs/tcp_service_2026-07-01.log
- 每天零点自动切换到新文件
- 保留最近 60 天,超期自动清理
- 同时输出到控制台和文件
使用方式
编译
cd tcp
set GOOS=windows&& set GOARCH=386&& go build -o tcp_service.exe main.go
运行
# 使用默认 config.json
./tcp_service.exe
# 指定配置文件
./tcp_service.exe /path/to/config.json
测试(用 telnet / nc 发命令)
# 发送 <1,0,post>
echo "<1,0,post>" | nc 127.0.0.1 9600
# 发送 <1,1,post>
echo "<1,1,post>" | nc 127.0.0.1 9600