首页 > 解决方案 > Renci SSH.Net - 在 Windows 和 Linux 上引发不同的 ErrorOccured 事件

问题描述

我正在使用 Renci SSH.Net 库来建立长期运行的 SSH 连接,并且我注意到在 Windows 和 Linux 上运行它时的行为有所不同。
sshClient.ErrorOccurred += delegate (object sender, ExceptionEventArgs e) {. . . }用来检测连接错误。
有了这个,软件应该在它发生 + SSH 超时时立即检测到断开的连接(即 Internet 断开、电缆拔出等)。虽然这在 Windows 上运行良好,但在 Linux 上,此事件仅在重新连接时引发,而不是在断开连接时引发。由于该软件将部署在 Linux (RPI) 上,因此我需要在断开连接时引发此事件 - 就像在 Windows 上一样。

我的问题是 - 为什么这种行为差异?有没有办法让这个事件在 Linux 上的断开连接时引发?

感谢任何帮助

标签: c#linux.net-coresshssh.net

解决方案


推荐阅读