github.com/gogf/gf@v1.16.9/.example/net/ghttp/server/websocket/echo/main.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/gogf/gf/frame/g"
     5  	"github.com/gogf/gf/net/ghttp"
     6  	"github.com/gogf/gf/os/gfile"
     7  	"github.com/gogf/gf/os/glog"
     8  )
     9  
    10  func main() {
    11  	s := g.Server()
    12  	s.BindHandler("/ws", func(r *ghttp.Request) {
    13  		ws, err := r.WebSocket()
    14  		if err != nil {
    15  			glog.Error(err)
    16  			return
    17  		}
    18  		for {
    19  			msgType, msg, err := ws.ReadMessage()
    20  			if err != nil {
    21  				return
    22  			}
    23  			if err = ws.WriteMessage(msgType, msg); err != nil {
    24  				return
    25  			}
    26  		}
    27  	})
    28  	s.SetServerRoot(gfile.MainPkgPath())
    29  	s.SetPort(8199)
    30  	s.Run()
    31  }