using Microsoft.Extensions.Logging; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WebSocket4Net; namespace CoreAgent.ProtocolClient.Managers.WebSocketMgr { public partial class WebSocketMessageManager { #region 构造函数 public WebSocketMessageManager(string clientName, ILoggerFactory loggerFactory) { // 参数验证 _clientName = clientName ?? throw new ArgumentNullException(nameof(clientName)); var factory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); // 创建自己的Logger _logger = factory.CreateLogger(); // 初始化消息ID管理器 - 使用ILoggerFactory创建正确的logger类型 var messageIdLogger = factory.CreateLogger(); _messageIdManager = new MessageIdManager(clientName, messageIdLogger); // 创建消息队列 _messageFifo = new BlockingCollection(); _logger.LogInformation($"[{_clientName}] 创建WebSocket消息管理器"); } #endregion } }