| | |
| | | // 绑定客户端断开连接的事件处理 |
| | | _tcpSocket.RobotReceived += OnRobotReceived; |
| | | // 记录日志(注意:日志内容为"客户端已断开连接",可能是遗留的占位文本) |
| | | QuartzLogger.Error($"客户端已断开连接", robotCrane.DeviceName); |
| | | QuartzLogger.Warn($"客户端已断开连接", robotCrane.DeviceName); |
| | | } |
| | | |
| | | // 从 TCP 服务器的客户端字典中获取 TcpClient 对象 |
| | |
| | | if (!alreadyStarted) |
| | | { |
| | | // 记录日志 |
| | | QuartzLogger.Error($"启动客户端消息处理", robotCrane.DeviceName); |
| | | QuartzLogger.Info($"启动客户端消息处理", robotCrane.DeviceName); |
| | | |
| | | // 获取最新的状态对象 |
| | | var latestStateForSubscribe = _stateManager.GetState(ipAddress); |
| | |
| | | if (t.IsFaulted) |
| | | { |
| | | // 记录错误日志 |
| | | QuartzLogger.Error($"监听客户端消息事件异常", robotCrane.DeviceName); |
| | | QuartzLogger.Info($"监听客户端消息事件异常", robotCrane.DeviceName); |
| | | Console.WriteLine($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] HandleClientAsync error: {t.Exception?.GetBaseException().Message}"); |
| | | // 发生错误时,移除启动标志,允许下次重试 |
| | | _handleClientStarted.TryRemove(ipAddress, out _); |