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
  • 相关阅读:
    Eclipse JSP/Servlet 环境搭建
    2017 世界主要国家和地区 GDP 排名
    Twsited异步网络框架
    RabbitMQ队列,RedisMemcached缓存
    Paramiko,数据库
    SelectPollEpoll异步IO与事件驱动
    进程,线程,协程
    socketserver模块
    socket
    类的相关知识
  • 原文地址:https://www.cnblogs.com/taoshihan/p/15477085.html
Copyright © 2011-2022 走看看