我使用 RDP 从 Windows 8.1 计算机远程连接到 Windows 10 Pro 计算机(版本 2004、19041.572)并且能够正常工作。
但是,它偶尔会冻结一分钟。这种情况每天发生 1 到 5 次。
在 Windows 10 计算机上查看 Windows 事件查看器时,RDP 日志之一 (Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational) 记录了错误。
以下是该日志中的一些片段,以及我的评论:
冻结发生时的第一个日志条目……
- TCP 套接字 WRITE 操作失败,错误 10054
- RDP_TCP:从 StateUnknown 转换以响应 Event_Disconnect 时遇到错误(错误代码 0x80072746)。
- TCP 套接字读取操作失败,错误 64
- TCP 套接字写入操作失败,错误 64
- TCP 套接字写入操作失败,错误 995
- 调用的接口方法:OnDisconnected
许多其他信息条目,然后:
- 断开连接跟踪:CUMRDPConnection 断开连接跟踪:CUMRDPConnection::PreDisconnect 中的“调用 spGfxPlugin->PreDisconnect()” 5073 err=[0x80072746],错误代码:0x80072746
- …
- 断开原因是 14
- …
- 原因码:2(服务器配置)导致网络特性检测功能被禁用。
它自动开始重新连接,然后:
- CUMRDPConnection::QueryProperty 在 3344 错误 = [0x80004001] 中的“GetConnectionProperty 失败”
继续连接,然后:
- 在 2958 错误 = [0xd0000001] 处的 CUMRDPConnection::CreateVirtualChannel 中的“对此连接堆栈上的 CreateVirtualChannel 调用失败”
继续,但又出现了两个上述错误。
连接已重新建立并继续,没有进一步的日志条目
出了什么问题,如何解决?
这些是网络错误。您不太可能通过查看 Windows 日志来解决它。您将需要对整个路径的网络连接进行故障排除。如果这包括开放的互联网,您将拥有无法查看或修复的链接。
我建议在两端使用 Wireshark 并过滤流量,以便您只能看到 RDP 隧道。这将使您了解连接丢失的位置。然后,您可以检查您的网络硬件是否有在 Wireshark 中看到的故障时间戳附近的事件。
针对我的评论,海报已从 Windows 8.1 升级到 Windows 10。我们将看看是否解决了问题。
由于这些对话框,RDP 会话可能会达到空闲时间限制,从而导致其终止。
会话时间限制的设置可以通过
gpedit.msc
计算机 配置/管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/会话时间限制找到。您可以根据需要在此处调整四个设置。您可能对“为活动但空闲的远程桌面服务会话设置时间限制”和“为活动远程桌面服务会话设置时间限制”最感兴趣,但请检查所有这些。
因此,客户端计算机使用 Windows 10 进行了重建。从那以后的一两天内都没有发现这个问题。
不幸的是,无法知道是 Windows 8.1 的问题,还是运行 8.1 时影响连接的计算机上的设置。