1. 程式人生 > 其它 >[Golang系列] GOFLY線上客服系統-gin框架升級http連線為websocket-GO語言實現開源獨立部署客服系統

[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

讚賞作者

微信交流