From b4393d2290ffea9f46e297e9152fbdcf095601d5 Mon Sep 17 00:00:00 2001 From: zqm Date: Wed, 1 Apr 2026 14:49:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=A4=B4=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8CHeader=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CubeLib/Properties/AssemblyInfo.cs | 2 +- .../CubeLib/WebSocket/WebSocketClient.cs | 25 +++++++++++++++++++ .../CubeLib/WebSocket/WebSocketConfig.cs | 10 ++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/Windows/CS/Framework4.0/CubeLib/CubeLib/Properties/AssemblyInfo.cs b/Windows/CS/Framework4.0/CubeLib/CubeLib/Properties/AssemblyInfo.cs index 6243249..0681d8a 100644 --- a/Windows/CS/Framework4.0/CubeLib/CubeLib/Properties/AssemblyInfo.cs +++ b/Windows/CS/Framework4.0/CubeLib/CubeLib/Properties/AssemblyInfo.cs @@ -33,4 +33,4 @@ using System.Runtime.InteropServices; //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.1.3")] -[assembly: AssemblyFileVersion("1.0.1.5")] +[assembly: AssemblyFileVersion("1.0.1.6")] diff --git a/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketClient.cs b/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketClient.cs index 7595f68..d17660b 100644 --- a/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketClient.cs +++ b/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketClient.cs @@ -113,6 +113,31 @@ namespace JoyD.Windows.CS.WebSocket _webSocket?.Close(); _webSocket = new WebSocketSharp.WebSocket(_config.WsUrl); + // 设置User-Agent + if (!string.IsNullOrEmpty(_config.UserAgent)) + { + _webSocket.Origin = _config.UserAgent; + } + + // 设置自定义头信息 + // WebSocketSharp库的WebSocket类可能没有SetHeader方法,这里暂时注释掉 + // 后续可以考虑使用其他方式实现自定义头信息的传递 + if (_config.CustomHeaders != null && _config.CustomHeaders.Count > 0) + { + try + { + // WebSocketSharp库的WebSocket类使用SetHeader方法设置自定义头信息 + foreach (var header in _config.CustomHeaders) + { + _webSocket.SetUserHeader(header.Key, header.Value); + } + } + catch + { + // 忽略错误 + } + } + // 设置事件处理 _webSocket.OnOpen += WebSocket_OnOpen; _webSocket.OnMessage += WebSocket_OnMessage; diff --git a/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketConfig.cs b/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketConfig.cs index 26b640c..2793f6c 100644 --- a/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketConfig.cs +++ b/Windows/CS/Framework4.0/CubeLib/CubeLib/WebSocket/WebSocketConfig.cs @@ -46,5 +46,15 @@ namespace JoyD.Windows.CS.WebSocket /// 消息队列最大大小 /// public int MaxQueueSize { get; set; } = 100; + + /// + /// User-Agent头 + /// + public string UserAgent { get; set; } = ""; + + /// + /// 自定义头信息 + /// + public System.Collections.Generic.Dictionary CustomHeaders { get; set; } = new System.Collections.Generic.Dictionary(); } } \ No newline at end of file