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