From b00625207b9348ea712c195fceb47ecc978b35f9 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 9 May 2023 17:51:19 +0800 Subject: [PATCH] =?UTF-8?q?websocket=E8=A7=A3=E6=9E=90url=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/network.go | 18 ++++++++++-------- server/server.go | 7 +++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/server/network.go b/server/network.go index c0dffe1..634cfd4 100644 --- a/server/network.go +++ b/server/network.go @@ -3,14 +3,16 @@ package server type Network string const ( - NetworkTCP Network = "tcp" - NetworkTCP4 Network = "tcp4" - NetworkTCP6 Network = "tcp6" - NetworkUdp Network = "udp" - NetworkUdp4 Network = "udp4" - NetworkUdp6 Network = "udp6" - NetworkUnix Network = "unix" - NetworkHttp Network = "http" + NetworkTCP Network = "tcp" + NetworkTCP4 Network = "tcp4" + NetworkTCP6 Network = "tcp6" + NetworkUdp Network = "udp" + NetworkUdp4 Network = "udp4" + NetworkUdp6 Network = "udp6" + NetworkUnix Network = "unix" + NetworkHttp Network = "http" + // NetworkWebsocket 该模式下需要获取url参数值时,可以通过连接的GetData函数获取 + // - 当有多个同名参数时,获取到的值为切片类型 NetworkWebsocket Network = "websocket" NetworkKcp Network = "kcp" NetworkGRPC Network = "grpc" diff --git a/server/server.go b/server/server.go index fa4e0c5..872ce39 100644 --- a/server/server.go +++ b/server/server.go @@ -208,6 +208,13 @@ func (slf *Server) Run(addr string) error { } 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) defer func() {