gpt4 book ai didi

c# - 并发连接期间的 sharpssh "session is down"

转载 作者:行者123 更新时间:2023-11-30 22:23:10 28 4
gpt4 key购买 nike

我正在将 SharpSSH 集成到现有的 .NET 2.0 项目中。所以不能切换到http://sshnet.codeplex.com/或其他更新的图书馆...

我拥有与设备的单一连接的所有功能,并且可以毫无问题地运行命令和上传文件。

但是因为这个工具必须能够同时更新多个设备,应用程序同时启动多个 sharpssh 连接。然后一切都继续工作,但有时文件没有完全上传,并抛出错误“ session 已关闭”。

SshTransferProtocolBase tx = new Scp(_hostname, _username, _password);
tx.Connect();
tx.OnTransferProgress += new FileTransferEvent(tx_OnTransferProgress);

tx.Put(sshSource.FullName, "/tmp/" + Path.GetFileName(sshTarget));
// --> tx.Put throws the error

像这样用“new Sftp”替换“new Scp”时

SshTransferProtocolBase tx = new Sftp(_hostname, _username, _password);

错误信息是:“inputstream is closed”或“session is down”

关于如何避免这种情况有什么想法吗?

非常感谢,弗兰克

最佳答案

我一直在为同样的问题而苦苦挣扎。在多处理过程中出现“session is down”错误是 SharpSSH 的一个已知问题。该库不再更新。所以我建议您使用另一个 SSH 库,例如 SSH.NET: https://github.com/sshnet/SSH.NET

它易于使用。一个例子:

SshClient sshobject = new SshClient(OSShostIP, OSSusername, OSSpassword);
sshobject.Connect();
sshobject.RunCommand("mkdir /home/nedim");
sshobject.Disconnect();

关于c# - 并发连接期间的 sharpssh "session is down",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13513893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com