package main import ( "fmt" "github.com/kptyun/KPTCOMM/comm" "github.com/kptyun/KPTCOMM/mdns" "github.com/kptyun/KPTCOMM/models" "github.com/kptyun/KPTCOMM/pkg/logging" "github.com/kptyun/KPTCOMM/pkg/setting" "github.com/kptyun/KPTCOMM/routers" "log" "net/http" "strings" //"unsafe" ) // @title 科湃腾Go语言后台API // @version 1.1.2 // @description kptyun_service // @contact.name 朱红宾 // @contact.url https://www.dairyinfo.com.cn // @contact.email kptzhu@163.com // @host // @BasePath / func main() { setting.Setup("") models.Setup() logging.Setup() //inject.Init() //err := inject.LoadCasbinPolicyData() //if err != nil { // panic("加载casbin策略数据发生错误: " + err.Error()) //} routersInit := routers.InitRouter() readTimeout := setting.ServerSetting.ReadTimeout writeTimeout := setting.ServerSetting.WriteTimeout endPoint := fmt.Sprintf(":%d", setting.ServerSetting.HttpPort) maxHeaderBytes := 1 << 20 server := &http.Server{ Addr: endPoint, Handler: routersInit, ReadTimeout: readTimeout, WriteTimeout: writeTimeout, MaxHeaderBytes: maxHeaderBytes, } //fmt.Println(unsafe.Alignof(unintptr(0))) log.Printf("[info] start http server listening %s", endPoint) if setting.CommSetting.PortName!="" { go comm.OpenComm() } if strings.Trim(setting.ServerSetting.Mdns_servicename," ") !="" { go mdns.Msdn(strings.Trim(setting.ServerSetting.Mdns_servicename," "),setting.ServerSetting.Mdns_serviceport) } //ginpprof.Wrap(routersInit) _ = server.ListenAndServe() // If you want Graceful Restart, you need a Unix system and download github.com/fvbock/endless //endless.DefaultReadTimeOut = readTimeout //endless.DefaultWriteTimeOut = writeTimeout //endless.DefaultMaxHeaderBytes = maxHeaderBytes //server := endless.NewServer(endPoint, routersInit) //server.BeforeBegin = func(add string) { // log.Printf("Actual pid is %d", syscall.Getpid()) //} // //err := server.ListenAndServe() //if err != nil { // log.Printf("Server err: %v", err) //} }