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

hkshawn · 2022-08-22 07:22:03 · 1872 次点击

其实就是TCP代理:

client <---> proxy <---> server

如果 client 与 proxy 之间断开。proxy 与 server 延迟断开,有效期内如果 client 再建立连接,直接复用上次 proxy <---> server 的链路。

代码实现倒不是很难,难的是传输的数据有状态,proxy 很难处理,client 与 server 之间要有一套状态同步的协议。

以HTTP断点续传为例:需要 client 和 server 同时支持,Header 中 携带了 Ranges,重连时知道从哪里开始续传

#3
更多评论

你说的跟断点续传 功能有点像, 文件下载下到一半断网了,连上后,继续下载

#1

client 网络断开几秒,然后恢复连接,长连接不会被断开

都断开了,又怎么能长连接不会被断开,啥思路

#2