wanshenmean
15 小时以前 f423e1277f91427f0a767bd1224c1260dcb73086
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/RobotMessageHandler.cs
@@ -88,8 +88,14 @@
        /// <param name="client">TCP 客户端连接</param>
        /// <param name="state">机器人当前状态</param>
        /// <returns>响应消息,如果无需回复则返回 null</returns>
        public async Task<string?> HandleMessageReceivedAsync(string message, bool isJson, TcpClient client, RobotSocketState state)
        public async Task<string?> HandleMessageReceivedAsync(string message, bool isJson, TcpClient client)
        {
            var state = _stateManager.GetState(client.Client.RemoteEndPoint.ToString());
            if(state.OperStatus == message)
            {
                // 处理成功后,将原消息回写到客户端(保持原有行为)
                await _socketClientGateway.SendMessageAsync(client, message);
            }
            // 记录接收到的消息日志
            _logger.LogInformation($"接收到客户端【{state.RobotCrane?.DeviceName}】发送消息【{message}】");
            QuartzLogger.Info($"接收到客户端消息【{message}】", state.RobotCrane?.DeviceName);
@@ -110,9 +116,12 @@
            // 简单命令包括:homing、homed、running、pausing、runmode、controlmode 等
            if (await _simpleCommandHandler.HandleAsync(messageLower, state))
            {
                // 处理成功后,将原消息回写到客户端(保持原有行为)
                await _socketClientGateway.SendMessageAsync(client, message);
                QuartzLogger.Info($"发送消息:【{message}】", state.RobotCrane?.DeviceName);
                if(messageLower != "batteryarrived")
                {
                    // 处理成功后,将原消息回写到客户端(保持原有行为)
                    await _socketClientGateway.SendMessageAsync(client, message);
                    QuartzLogger.Info($"发送消息:【{message}】", state.RobotCrane?.DeviceName);
                }
                // 安全更新状态到数据库
                _stateManager.TryUpdateStateSafely(state.IPAddress, state);