add websocket
This commit is contained in:
40
main.go
40
main.go
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user