1 Star 0 Fork 0

kade/go12

Create your Gitee Account
Explore and code with more than 14 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
main.go 2.98 KB
Copy Edit Raw Blame History
kadegolang authored 2023-12-01 10:35 +08:00 . 111
package main
import (
"context"
"fmt"
"log"
"net"
"os"
"os/signal"
"syscall"
"time"
_ "gitee.com/go-kade/go12/vblog/apps"
"gitee.com/go-kade/go12/vblog/ioc"
"gitee.com/go-kade/go12/vblog/protocol"
"google.golang.org/grpc"
)
// func (s Student) String() string {
// return fmt.Sprintf("%s %d %d", s.Name, s.Age, s.Gender)
// }
/*
// beego.Run("127.0.0.1:8999")
// web.Run("0.0.0.0:8999")
// aa, _ := net.ResolveTCPAddr("tcp", "0.0.0.0:8787")
// bb, _ := net.ListenTCP("tcp", aa)
// con, _ := bb.Accept()
// cc := make([]byte, 1024)
// con.Read(cc)
// db := conf.C().MySQL.GetConn()
// db.Find()
// db.Find()
// type User struct {
// gorm.Model // 添加默认的模型字段(ID、CreatedAt、UpdatedAt、DeletedAt)
// Username string `json:"username"`
// Password string `json:"password"`
// Role user.Role `json:"role"`
// Id int64 `json:"id" gorm:"primaryKey`
// lock sync.Mutex
// conn *gorm.DB
// }
// db, _ := gorm.Open(mysql.Open("root:cys000522@tcp(34.28.164.10:3306)/go12?charset=utf8mb4&parseTime=True&loc=Local"), &gorm.Config{})
// err := db.AutoMigrate(&User{})
// if err != nil {
// log.Fatal("Failed to migrate User table")
// }
// fmt.Println("khnuig------------------")
*/
func main() {
//1. 加载配置
if err := ioc.Controller().Init(); err != nil {
fmt.Println(err)
os.Exit(1)
}
// 初始化Api Handler
if err := ioc.ApiHandler().Init(); err != nil {
fmt.Println(err)
os.Exit(1)
}
//2. 初始化控制
// 2.1 user controlLer7
// UserServiceImpl := impl.NewUserServiceImpl()
// 2.2 token controller
// TokenServiceImpl := impl1.NewTokenServiceImpl(UserServiceImpl)
// 2.3 token api handler
//httpHandler := api.NewTokenApiHeadler(TokenServiceImpl)
// httpHandler := api.NewTokenApiHeadler(ioc.Controller().Get(token.AppName).(token.Service))
// 3. 启动http协议服务器,注册 handler路由
// r := gin.Default()
// // httpHandler.Registry(r.Group("/api"))
// ioc.ApiHandler().RouteRegistry(r.Group("/api"))
// //启动路由服务器
// r.Run(":9999")
httpserver := protocol.NewHttpServer()
go func() {
if err := httpserver.Run(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}()
// 启动一个跑Grpc Server的Goroutine
grpcServer := grpc.NewServer()
// 把controller内 所有实现了grpc服务的模块注册给grpc server
ioc.Controller().GrpcSerivceRegistry(grpcServer)
go func() {
fmt.Println("gprc 服务访问地址: 127.0.0.1:1234")
lis, err := net.Listen("tcp", ":1234")
if err != nil {
log.Fatal(err)
}
err = grpcServer.Serve(lis)
if err != nil {
fmt.Printf("start grpc server error, %s", err)
}
}()
//处理信号量
ch := make(chan os.Signal, 1)
signal.Notify(ch, syscall.SIGTERM, syscall.SIGINT, syscall.SIGHUP, syscall.SIGQUIT)
// 等待信号的到来
sn := <-ch
fmt.Println(sn)
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
httpserver.Close(ctx)
//
fmt.Println("清理工作")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/go-kade/go12.git
git@gitee.com:go-kade/go12.git
go-kade
go12
go12
8edd8d823c91

Search