wanshenmean
2 天以前 0b2869539598059704e1d208e2bcb18603b0fe0f
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SocketServer/TcpSocketServer.Messaging.cs
@@ -3,6 +3,7 @@
using System.Text.Json;
using System.IO;
using WIDESEAWCS_Model.Models;
using Serilog.Core;
namespace WIDESEAWCS_Tasks.SocketServer
{
@@ -23,8 +24,7 @@
        /// <param name="client">TCP 客户端连接</param>
        /// <param name="clientId">客户端唯一标识</param>
        /// <param name="cancellationToken">取消令牌</param>
        /// <param name="robotCrane">机器人状态</param>
        public async Task HandleClientAsync(TcpClient client, string clientId, CancellationToken cancellationToken, RobotSocketState robotCrane)
        public async Task HandleClientAsync(TcpClient client, string clientId, CancellationToken cancellationToken)
        {
            using (client)
            using (NetworkStream networkStream = client.GetStream())
@@ -61,14 +61,15 @@
                        }
                        // 按客户端去重:检查是否与该客户端上次消息相同
                        lock (_syncRoot)
                        {
                            if (_clientLastMessage.TryGetValue(clientId, out var prev) && message == prev)
                            {
                                continue;
                            }
                            _clientLastMessage[clientId] = message;
                        }
                        //lock (_syncRoot)
                        //{
                        //    if (_clientLastMessage.TryGetValue(clientId, out var prev) && message == prev)
                        //    {
                        //        QuartzLogHelper.LogInfo(Logger.None, $"来自客户端 {clientId} 的重复消息,内容: {message}", clientId);
                        //        continue;
                        //    }
                        //    _clientLastMessage[clientId] = message;
                        //}
                        // 更新客户端状态
                        UpdateClientStatus(clientId, message);