zoukankan      html  css  js  c++  java
  • [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

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com
  • 相关阅读:
    centos编辑文件显示行号
    16.1
    [整理]正睿划水记
    [题解]UVA1519 Dictionary Size
    [题解]CF323C Two permutations
    [题解]CF1527D MEX Tree
    P2216 [HAOI2007]理想的正方形
    CF858D Polycarp's phone book
    ABC214F substrings
    每天一点小知识-20210810
  • 原文地址:https://www.cnblogs.com/taoshihan/p/15477085.html
Copyright © 2011-2022 走看看