[Golang系列] GOFLY在线客服系统-gin框架升级http连接为websocket-GO语言实现开源独立部署客服系统
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
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网