[Golang系列] GOFLY線上客服系統-gin框架升級http連線為websocket-GO語言實現開源獨立部署客服系統
阿新 • • 發佈:2021-10-28
gin框架實現websocket服務非常簡單,只需要升級一下http請求,就可以實現了
比如下面的控制器部分程式碼
//包級變數,升級器 var upgrader = websocket.Upgrader{} func init() { //初始化 upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, // 解決跨域問題 CheckOrigin: func(r *http.Request) bool {return true }, } }
func VisitorWebsocketServer(c *gin.Context) { conn, err := upgrader.Upgrade(c.Writer, c.Request, nil) if err != nil { log.Println("upgrade error:", err) return } for { //接受訊息 var receive []byte messageType, receive, err := conn.ReadMessage() if err != nil { log.Println(err) return } log.Println(string(receive), messageType) } }
增加api路由
wsGroup := engine.Group("/ws") { wsGroup.GET("/v2/visitor", middleware.Ipblack, wsV2.VisitorWebsocketServer) }
前端連線訪問就可以了
ws://xxxxxxxx/ws/v2/visitor