add websocket

This commit is contained in:
张超
2024-01-22 17:55:16 +08:00
parent 2455f0d897
commit 47c62ea31d
6 changed files with 211 additions and 12 deletions

40
main.go
View File

@@ -2,11 +2,14 @@ package main
import (
"flag"
"fmt"
"go_blog/conf"
"go_blog/handlers"
"go_blog/models"
"net/http"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
)
type UserInfo struct {
@@ -63,6 +66,43 @@ func main() {
})
})
// 注册WebSocket路由
r.GET("/ws", WebSocketHandler)
r.POST("/login", handlers.UsersLoginHandler)
r.Run(":8080")
}
func WebSocketHandler(c *gin.Context) {
// 获取WebSocket连接
//ws, err := websocket.Upgrader.Upgrade(c.Writer, c.Request, nil)
var upGrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
return true
},
}
ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
panic(err)
}
// 处理WebSocket消息
for {
messageType, p, err := ws.ReadMessage()
if err != nil {
break
}
fmt.Println("messageType:", messageType)
fmt.Println("p:", string(p))
// 输出WebSocket消息内容
c.Writer.Write(p)
}
// 关闭WebSocket连接
ws.Close()
}