修复连接超时问题
This commit is contained in:
@@ -56,6 +56,8 @@ func control() error {
|
||||
}
|
||||
defer utils.Close(conn)
|
||||
|
||||
reader := bufio.NewReader(conn)
|
||||
|
||||
// 请求转发端口
|
||||
slog.Info("注册转发端口", "port", cfg.FwdPort)
|
||||
portBuf := make([]byte, 2)
|
||||
@@ -67,10 +69,8 @@ func control() error {
|
||||
|
||||
// 等待用户连接
|
||||
// 读写失败后退出重连,防止后续数据读写顺序错位导致卡死控制通道
|
||||
slog.Info("等待用户连接")
|
||||
for {
|
||||
slog.Info("等待用户连接")
|
||||
reader := bufio.NewReader(conn)
|
||||
|
||||
tagLen, err := utils.ReadByte(reader)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "接收 tagLen 失败")
|
||||
@@ -81,8 +81,8 @@ func control() error {
|
||||
}
|
||||
|
||||
// 建立数据通道
|
||||
slog.Info("收到用户连接,建立数据通道", "tag", string(tagBuf))
|
||||
go func() {
|
||||
slog.Info("收到用户连接,建立数据通道")
|
||||
err := data(tagLen, tagBuf)
|
||||
if err != nil {
|
||||
slog.Error("建立数据通道失败", err)
|
||||
@@ -139,9 +139,9 @@ func data(tagLen byte, tagBuf []byte) error {
|
||||
errCh <- err
|
||||
return
|
||||
} else {
|
||||
slog.Info("上行流量代理结束")
|
||||
slog.Debug("上行流量代理结束")
|
||||
}
|
||||
slog.Info("上行流量", "bytes", written)
|
||||
slog.Debug("上行流量", "bytes", written)
|
||||
errCh <- nil
|
||||
}()
|
||||
go func() {
|
||||
@@ -151,14 +151,14 @@ func data(tagLen byte, tagBuf []byte) error {
|
||||
errCh <- err
|
||||
return
|
||||
} else {
|
||||
slog.Info("下行流量代理结束")
|
||||
slog.Debug("下行流量代理结束")
|
||||
}
|
||||
slog.Info("下行流量", "bytes", written)
|
||||
slog.Debug("下行流量", "bytes", written)
|
||||
errCh <- nil
|
||||
}()
|
||||
<-errCh
|
||||
slog.Info("代理流量结束", "time", time.Since(timer))
|
||||
slog.Info("数据通道结束", "time", time.Since(timerAll))
|
||||
slog.Debug("代理流量结束", "time", time.Since(timer))
|
||||
slog.Debug("数据通道结束", "time", time.Since(timerAll))
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -207,5 +207,5 @@ func initEnv() {
|
||||
}
|
||||
|
||||
func initLog() {
|
||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||
slog.SetLogLoggerLevel(slog.LevelInfo)
|
||||
}
|
||||
Reference in New Issue
Block a user