websocket解析url参数

This commit is contained in:
kercylan98 2023-05-09 17:51:19 +08:00
parent 2908670e0d
commit b00625207b
2 changed files with 17 additions and 8 deletions

View File

@ -3,14 +3,16 @@ package server
type Network string type Network string
const ( const (
NetworkTCP Network = "tcp" NetworkTCP Network = "tcp"
NetworkTCP4 Network = "tcp4" NetworkTCP4 Network = "tcp4"
NetworkTCP6 Network = "tcp6" NetworkTCP6 Network = "tcp6"
NetworkUdp Network = "udp" NetworkUdp Network = "udp"
NetworkUdp4 Network = "udp4" NetworkUdp4 Network = "udp4"
NetworkUdp6 Network = "udp6" NetworkUdp6 Network = "udp6"
NetworkUnix Network = "unix" NetworkUnix Network = "unix"
NetworkHttp Network = "http" NetworkHttp Network = "http"
// NetworkWebsocket 该模式下需要获取url参数值时可以通过连接的GetData函数获取
// - 当有多个同名参数时,获取到的值为切片类型
NetworkWebsocket Network = "websocket" NetworkWebsocket Network = "websocket"
NetworkKcp Network = "kcp" NetworkKcp Network = "kcp"
NetworkGRPC Network = "grpc" NetworkGRPC Network = "grpc"

View File

@ -208,6 +208,13 @@ func (slf *Server) Run(addr string) error {
} }
conn := newWebsocketConn(ws, ip) conn := newWebsocketConn(ws, ip)
for k, v := range request.URL.Query() {
if len(v) == 1 {
conn.SetData(k, v)
} else {
conn.SetData(k, v)
}
}
slf.OnConnectionOpenedEvent(conn) slf.OnConnectionOpenedEvent(conn)
defer func() { defer func() {