现在已注册的节点会检查并更新 host;修复一个导致断开的连接没有正常退出的问题

This commit is contained in:
2025-05-27 18:53:01 +08:00
parent 48dba2c0c3
commit 36013d7d04
7 changed files with 53 additions and 27 deletions

View File

@@ -9,9 +9,9 @@ import (
"syscall"
)
func WarpConnErr(err error) error {
func WarpConnErr(err error) (bool, error) {
if err == nil {
return nil
return true, nil
}
var opErr *net.OpError
@@ -19,11 +19,11 @@ func WarpConnErr(err error) error {
case errors.Is(err, net.ErrClosed):
slog.Debug("连接已关闭")
return nil
return false, nil
case errors.Is(err, io.EOF):
slog.Debug("连接被对端关闭")
return nil
return false, nil
case errors.As(err, &opErr):
switch {
@@ -31,11 +31,11 @@ func WarpConnErr(err error) error {
errors.Is(opErr.Err, syscall.WSAECONNRESET), errors.Is(opErr.Err, syscall.WSAECONNABORTED),
errors.Is(opErr.Err, syscall.ECONNRESET), errors.Is(opErr.Err, syscall.ECONNABORTED):
slog.Debug("连接被对端重置")
return nil
return false, nil
case opErr.Timeout():
slog.Debug("连接已超时")
return nil
return false, nil
}
}
return fmt.Errorf("连接发生未处理的错误: %w", err)
return false, fmt.Errorf("连接发生未处理的错误: %w", err)
}