| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package websocket_client
- import (
- "net/http"
- "github.com/gin-gonic/gin"
- "github.com/gorilla/websocket"
- )
- //设置websocket
- //CheckOrigin防止跨站点的请求伪造
- var upGrader = websocket.Upgrader{
- CheckOrigin: func(r *http.Request) bool {
- return true
- },
- }
- //websocket实现
- func Ping(c *gin.Context) {
- //升级get请求为webSocket协议
- ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
- if err != nil {
- return
- }
- defer ws.Close() //返回前关闭
- for {
- //读取ws中的数据
- mt, message, err := ws.ReadMessage()
- if err != nil {
- break
- }
- //写入ws数据
- err = ws.WriteMessage(mt, message)
- if err != nil {
- break
- }
- }
- }
|