package middleware import ( "fmt" "time" "github.com/lxzan/gws" ) const PingInterval = 10 * time.Second type Handler struct { gws.BuiltinEventHandler } func (c *Handler) OnOpen(socket *gws.Conn) { } func (c *Handler) OnPing(socket *gws.Conn, payload []byte) { _ = socket.SetDeadline(time.Now().Add(2 * PingInterval)) _ = socket.WritePong(nil) } func (c *Handler) OnPong(socket *gws.Conn, payload []byte) {} func (c *Handler) OnMessage(socket *gws.Conn, gwsmessage *gws.Message) { fmt.Println(gwsmessage.Bytes()) } // RemoveSocket 移除WebSocket连接 func messeunpack(id int64, x []byte) { // json := gjson.ParseBytes(x) // json.ForEach(func(key, value gjson.Result) bool { // fmt.Println(key, value) // numeric := regexp.MustCompile(`\d`).MatchString(value.String()) // var ob int // if numeric { //如果正确 则使用常量 // } else { //如果错误,则使用变量,即从数据库查询常量定义值是多少 // } // work.User_script(uint(id), strings.Trim(message.Data.String(), " ")) // // switch s:=value.String() { // // case regexp.MustCompile(`\d`).MatchString(s): // // } // return true // }) // json.Get("1").String() // var ob int // numeric := regexp.MustCompile(`\d`).MatchString(json.Get("1").String()) // if numeric { //如果正确 则使用常量 // ob, _ = strconv.Atoi(json.Get("1").String()) // } else { //如果错误,则使用变量,即从数据库查询常量定义值是多少 // ob, _ = strconv.Atoi(json.Get("1").String()) // } // switch ob { // case 1: //发包函数 // work.User_script(uint(id), strings.Trim(message.Data.String(), " ")) // } // Go 1.9.7 onwards only. }