zhangzengfei
2024-07-16 29c674fdfffc9fba867d6aebfa647233e1fff8f7
禁用服务端的keepalive
2个文件已修改
42 ■■■■ 已修改文件
config/config.go 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.go
@@ -9,14 +9,15 @@
)
type serve struct {
    ID       string `mapstructure:"id"`
    Mode     string `mapstructure:"mode"`
    Host     string `mapstructure:"host"`
    Port     string `mapstructure:"port"`
    Realm    string `mapstructure:"realm"`
    Username string `mapstructure:"username"`
    Password string `mapstructure:"password"`
    Role     string `mapstructure:"role"` // agent 设备端, proxy 1400中转 不处理deivce, server 全功能
    ID        string `mapstructure:"id"`
    Mode      string `mapstructure:"mode"`
    Host      string `mapstructure:"host"`
    Port      string `mapstructure:"port"`
    Realm     string `mapstructure:"realm"`
    Username  string `mapstructure:"username"`
    Password  string `mapstructure:"password"`
    Role      string `mapstructure:"role"` // agent 设备端, proxy 1400中转 不处理deivce, server 全功能
    Keepalive bool   `mapstructure:"keepalive"`
}
type client struct {
@@ -48,6 +49,7 @@
    ReportInterval int    `mapstructure:"report-interval"`
    RetryInterval  int    `mapstructure:"retry-interval"`
    Enable         bool   `mapstructure:"enable"`
    FTPServer      string `mapstructure:"ftp-server"`
}
type image struct {
main.go
@@ -37,6 +37,18 @@
        Handler: r,
    }
    srv.SetKeepAlivesEnabled(config.ServeConf.Keepalive)
    // Initializing the server in a goroutine so that
    // it won't block the graceful shutdown handling below
    go func() {
        if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
            logger.Error("listen: %s", err)
        }
    }()
    logger.Info("Server is running at %s:%s", host, port)
    // 启动1400客户端
    ctx, cancel := context.WithCancel(context.Background())
    go client.Init1400Client(ctx)
@@ -48,16 +60,6 @@
    // 启动定时任务
    cron.Init()
    // Initializing the server in a goroutine so that
    // it won't block the graceful shutdown handling below
    go func() {
        if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
            logger.Error("listen: %s", err)
        }
    }()
    logger.Info("Server is running at %s:%s", host, port)
    // Wait for interrupt signal to gracefully shutdown the server with
    // a timeout of 5 seconds.
@@ -72,7 +74,7 @@
    // The context is used to inform the server it has 5 seconds to finish
    // the request it is currently handling
    //ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
    defer cancel()
    cancel()
    if err := srv.Shutdown(ctx); err != nil {
        logger.Error("Server forced to shutdown:", err)
    }