From 9a6b5aaf187f2c83002ea2448d47d4d8ac93cc9c Mon Sep 17 00:00:00 2001 From: guorui <774114798@qq.com> Date: Tue, 21 Oct 2025 21:19:58 +0800 Subject: [PATCH] 1 --- .../Services/DataProcessor.cs | 9 ++-- .../Services/TcpClient.cs | 42 +------------------ .../appsettings.Development.json | 2 +- .../YunDa.Server.ISMSTcp/appsettings.json | 2 +- 4 files changed, 8 insertions(+), 47 deletions(-) diff --git a/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/DataProcessor.cs b/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/DataProcessor.cs index d71c861..d6de15b 100644 --- a/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/DataProcessor.cs +++ b/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/DataProcessor.cs @@ -122,11 +122,10 @@ namespace YunDa.Server.ISMSTcp.Services { try { - // 记录消息处理开始 - var parsedMessageType = ISMSMessageTypeExtensions.ParseMessageType(messageType); - //_logger.LogInformationWithFilter(_filterControlService, parsedMessageType, - // "开始处理消息类型: {MessageType}", messageType); - + if (messageType.ToUpper()!= "YC"&& messageType.ToUpper()!= "YX"&& "HeartBeat"!= messageType&& "CommState" != messageType) + { + Log.Information(messageType + ":" + originalJson); + } // 触发TCP响应接收事件 TcpResponseReceived?.Invoke(); Models.ProcessResult result = messageType.ToUpper() switch diff --git a/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/TcpClient.cs b/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/TcpClient.cs index 97b16c4..81ddad4 100644 --- a/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/TcpClient.cs +++ b/src/YunDa.Server/YunDa.Server.ISMSTcp/Services/TcpClient.cs @@ -447,7 +447,6 @@ namespace YunDa.Server.ISMSTcp.Services return; } - // 计算延迟时间(指数退避算法) var delay = CalculateReconnectDelay(_reconnectAttempts); _logger.LogInformation("Scheduling reconnect attempt #{Attempt} in {Delay} seconds", @@ -461,16 +460,11 @@ namespace YunDa.Server.ISMSTcp.Services } /// - /// 计算重连延迟时间(指数退避算法) + /// 计算重连延迟时间(固定10秒) /// private TimeSpan CalculateReconnectDelay(int attemptCount) { - // 指数退避:初始延迟1秒,最大延迟30秒 - var baseDelaySeconds = 1.0; - var maxDelaySeconds = 30.0; - - var delaySeconds = Math.Min(baseDelaySeconds * Math.Pow(2, attemptCount), maxDelaySeconds); - return TimeSpan.FromSeconds(delaySeconds); + return TimeSpan.FromSeconds(10); } /// @@ -482,28 +476,6 @@ namespace YunDa.Server.ISMSTcp.Services { return; } - - // 检查是否超过最大重连次数 - if (_reconnectAttempts >= _config.MaxRetries) - { - _logger.LogError("Maximum reconnection attempts ({MaxRetries}) reached. Stopping reconnection attempts.", - _config.MaxRetries); - - lock (_reconnectStateLock) - { - _reconnectTimer?.Dispose(); - _reconnectTimer = null; - } - - ConnectionStatusChanged?.Invoke(false, $"重连失败:已达到最大重连次数 {_config.MaxRetries}"); - return; - } - - _reconnectAttempts++; - - _logger.LogInformation("Attempting reconnection #{Attempt}/{MaxRetries} to {IP}:{Port}", - _reconnectAttempts, _config.MaxRetries, _lastConnectedIp, _lastConnectedPort); - try { await _reconnectLock.WaitAsync(); @@ -512,20 +484,10 @@ namespace YunDa.Server.ISMSTcp.Services if (success) { - // 重连成功,重置重连计数器 - _reconnectAttempts = 0; - - lock (_reconnectStateLock) - { - _reconnectTimer?.Dispose(); - _reconnectTimer = null; - } StartHeartbeat(); - _logger.LogInformation("Successfully reconnected to {IP}:{Port} after {Attempts} attempts", _lastConnectedIp, _lastConnectedPort, _reconnectAttempts); - ConnectionStatusChanged?.Invoke(true, "重连成功"); } else diff --git a/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.Development.json b/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.Development.json index a907e27..a657a3f 100644 --- a/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.Development.json +++ b/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.Development.json @@ -9,7 +9,7 @@ } }, "ISMSServer": { - "ServerIP": "192.168.81.229", + "ServerIP": "192.168.81.21", "HeartbeatIntervalSeconds": 60, "AutoConnectDelaySeconds": 10 }, diff --git a/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.json b/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.json index 65f9c5d..e3a1c24 100644 --- a/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.json +++ b/src/YunDa.Server/YunDa.Server.ISMSTcp/appsettings.json @@ -7,7 +7,7 @@ } }, "ISMSServer": { - "ServerIP": "192.168.81.22", + "ServerIP": "192.168.81.21", "ServerPort": 43916, "ReconnectDelaySeconds": 5, "MaxRetries": 50,