lightsocks
lightsocks copied to clipboard
转发的 go func 部分的疑问
// 进行转发
// 从 proxyServer 读取数据发送到 localUser
go func() {
err := proxyServer.DecodeCopy(userConn)
if err != nil {
// 在 copy 的过程中可能会存在网络超时等 error 被 return,只要有一个发生了错误就退出本次工作
userConn.Close()
proxyServer.Close()
}
}()
// 从 localUser 发送数据发送到 proxyServer,这里因为处在翻墙阶段出现网络错误的概率更大
userConn.EncodeCopy(proxyServer)
为什么这里两个转发,前一个用了goroutine,后一个没有用呢?
同理,在server里面也是