u
This commit is contained in:
1 parent
835958886e
commit
d04d22723b
155 files changed
+543
-9793
No files matched your search
@@ -0,0 +1,81 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"allapp/biz/router/middleware"
|
||||
"allapp/conf"
|
||||
"allapp/db"
|
||||
"allapp/logx"
|
||||
"allapp/utils/idgen"
|
||||
"allapp/utils/jwtx"
|
||||
"allapp/utils/redisx"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"github.com/cloudwego/hertz/pkg/app/server"
|
||||
"github.com/cloudwego/hertz/pkg/common/adaptor"
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/hertz-contrib/requestid"
|
||||
)
|
||||
|
||||
var upgrader = websocket.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return true // 允许所有来源的连接
|
||||
},
|
||||
}
|
||||
|
||||
func echo(w http.ResponseWriter, r *http.Request) {
|
||||
// 这里是通过升级协议来实现 WebSocket 连接
|
||||
c, err := upgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
log.Print("upgrade:", err)
|
||||
return
|
||||
}
|
||||
defer c.Close()
|
||||
|
||||
// 不断监听 WebSocket 连接的数据
|
||||
for {
|
||||
mt, message, err := c.ReadMessage()
|
||||
if err != nil {
|
||||
log.Println("read:", err)
|
||||
break
|
||||
}
|
||||
log.Printf("recv: %s", message)
|
||||
err = c.WriteMessage(mt, message) // 回显消息
|
||||
if err != nil {
|
||||
log.Println("write:", err)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 初始化雪花id
|
||||
options := idgen.NewIdGeneratorOptions(conf.GetConf().Snowflake.WorkerID)
|
||||
idgen.SetIdGenerator(options)
|
||||
|
||||
// 数据库
|
||||
db.InitDB()
|
||||
// Redis
|
||||
redisx.Init()
|
||||
// 日志
|
||||
logx.InitLog()
|
||||
// jwt
|
||||
jwtx.InitJwt()
|
||||
|
||||
h := server.Default(
|
||||
server.WithBasePath(conf.GetConf().Server.BaseUrl),
|
||||
server.WithHostPorts(":"+conf.GetConf().Server.Port),
|
||||
)
|
||||
|
||||
// 全局中间件
|
||||
h.Use(requestid.New())
|
||||
h.Use(middleware.Log())
|
||||
h.Use(middleware.Error())
|
||||
h.Use(middleware.Auth())
|
||||
h.Use(middleware.RefreshActive())
|
||||
|
||||
h.GET(conf.GetConf().Server.WsUrl, adaptor.HertzHandler(http.HandlerFunc(echo)))
|
||||
|
||||
register(h)
|
||||
h.Spin()
|
||||
}
|
||||
Reference in new issue
Block a user