请教,用 go 写一个具有特殊功能的端口转发思路

hkshawn · · 1583 次点击
client 网络断开几秒,然后恢复连接,长连接不会被断开 都断开了,又怎么能长连接不会被断开,啥思路
#2
更多评论
你说的跟断点续传 功能有点像, 文件下载下到一半断网了,连上后,继续下载
#1
其实就是TCP代理: `client` <---> `proxy` <---> `server` 如果 client 与 proxy 之间断开。proxy 与 server 延迟断开,有效期内如果 client 再建立连接,直接复用上次 proxy <---> server 的链路。 代码实现倒不是很难,难的是传输的数据有状态,proxy 很难处理,client 与 server 之间要有一套状态同步的协议。 以HTTP断点续传为例:需要 client 和 server 同时支持,Header 中 携带了 `Ranges`,重连时知道从哪里开始续传
#3