Browse Source

111

feature/LteClientLogFun
root 1 month ago
parent
commit
6a7082ad65
  1. 34
      LTEMvcApp/Services/LTEClientWebSocket.cs

34
LTEMvcApp/Services/LTEClientWebSocket.cs

@ -148,8 +148,9 @@ namespace LTEMvcApp.Services
_messageFifo = new ConcurrentQueue<JObject>();
_cancellationTokenSource = new CancellationTokenSource();
_messageId = 0;
_logGetId = -1; // 初始化为-1,表示未开始
_logger = logger;
_logger.LogInformation($"创建WebSocket客户端: {config.Name}");
_logger.LogInformation($"创建WebSocket客户端: {config.Name}, 初始LogGet ID: {_logGetId}");
}
#endregion
@ -196,9 +197,12 @@ namespace LTEMvcApp.Services
/// </summary>
public void Stop()
{
var oldLogGetId = _logGetId;
SetState(ClientState.Stop);
StopTimers();
_isSocketReady = false; // 重置连接状态标志
_logGetId = -1; // 重置LogGet ID
_logger.LogDebug($"[{_config.Name}] 停止连接,LogGet ID重置: {oldLogGetId} -> {_logGetId}");
}
/// <summary>
@ -327,6 +331,13 @@ namespace LTEMvcApp.Services
var id = ++_messageId;
message["message_id"] = id;
// 记录log_get消息的发送
var messageType = message["message"]?.ToString();
if (messageType == "log_get")
{
_logger.LogDebug($"[{_config.Name}] 发送log_get消息: message_id={id}, timeout={message["timeout"]}, headers={message["headers"]}");
}
if (callback != null)
{
_messageHandlers[id] = new MessageHandler
@ -399,7 +410,9 @@ namespace LTEMvcApp.Services
}
}
var oldLogGetId = _logGetId;
_logGetId = SendMessage(message, LogGetParse);
_logger.LogDebug($"[{_config.Name}] LogGet ID变化: {oldLogGetId} -> {_logGetId}, 参数: {JsonConvert.SerializeObject(parameters)}");
}
/// <summary>
@ -427,6 +440,15 @@ namespace LTEMvcApp.Services
return _statsPollDelay;
}
/// <summary>
/// 获取当前LogGet ID
/// </summary>
/// <returns>当前LogGet ID</returns>
public int GetCurrentLogGetId()
{
return _logGetId;
}
#endregion
#region 私有方法
@ -455,6 +477,11 @@ namespace LTEMvcApp.Services
// 重置连接状态标志
_isSocketReady = false;
// 重置LogGet ID
var oldLogGetId = _logGetId;
_logGetId = -1;
_logger.LogDebug($"[{_config.Name}] 连接关闭,LogGet ID重置: {oldLogGetId} -> {_logGetId}");
if (State == ClientState.Connected)
{
@ -822,8 +849,13 @@ namespace LTEMvcApp.Services
// 更新日志获取 - 只有在最后一个请求时才更新
if (msg["message_id"]?.Value<int>() == _logGetId)
{
_logger.LogDebug($"[{_config.Name}] 收到最后一个LogGet响应: message_id={msg["message_id"]}, _logGetId={_logGetId}, 继续获取日志");
LogGet();
}
else
{
_logger.LogDebug($"[{_config.Name}] 收到LogGet响应: message_id={msg["message_id"]}, _logGetId={_logGetId}, 不是最后一个请求");
}
}
/// <summary>

Loading…
Cancel
Save