修复客户端断联未释放端口问题

This commit is contained in:
2025-03-05 14:14:11 +08:00
parent ae7fcfe484
commit 0144d1d46f
6 changed files with 134 additions and 128 deletions

View File

@@ -8,13 +8,13 @@ import (
"proxy-server/pkg/utils"
"proxy-server/server/fwd"
"proxy-server/server/pkg/env"
"proxy-server/server/pkg/log"
"proxy-server/server/pkg/orm"
"sync"
"syscall"
"time"
"github.com/lmittmann/tint"
"github.com/mattn/go-colorable"
"github.com/joho/godotenv"
)
type Context struct {
@@ -25,7 +25,12 @@ type Context struct {
func Start() {
// 初始化
initLog()
err := godotenv.Load()
if err != nil {
println("没有本地环境变量文件")
}
log.Init()
env.Init()
orm.Init()
@@ -77,28 +82,6 @@ func Start() {
time.Sleep(3 * time.Second)
}
func initLog() {
switch env.AppLogMode {
case "dev":
writer := colorable.NewColorable(os.Stdout)
logger := slog.New(tint.NewHandler(writer, &tint.Options{
Level: slog.LevelDebug,
TimeFormat: time.RFC3339,
ReplaceAttr: func(_ []string, attr slog.Attr) slog.Attr {
err, ok := attr.Value.Any().(error)
if ok {
return tint.Err(err)
}
return attr
},
}))
slog.SetDefault(logger)
case "test":
logger := slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{}))
slog.SetDefault(logger)
}
}
func startFwdServer(ctx context.Context) error {
server := fwd.New(nil)
go func() {