C# 如何检查Ssh.NET连接是否成功建立?
我想了解Ssh.NET如何告诉我连接是否成功建立:C# 如何检查Ssh.NET连接是否成功建立?,c#,ssh.net,C#,Ssh.net,我想了解Ssh.NET如何告诉我连接是否成功建立: SshClient client = new SshClient("127.0.0.1", 22, "root", ""); client.Connect(); // Connection ok? Then continue, else display error SshCommand x = client.RunCommand("service apache2 status"); client.Disconnect(); client.D
SshClient client = new SshClient("127.0.0.1", 22, "root", "");
client.Connect();
// Connection ok? Then continue, else display error
SshCommand x = client.RunCommand("service apache2 status");
client.Disconnect();
client.Dispose();
我如何从逻辑上证明“client.RunCommand(“service apache2 status”);”的结果
例如,如果(x==“apache2正在运行”)您可以检查属性:
if (!client.IsConnected)
{
// Display error
}
您可以为此使用client.IsConnected
using (var client = new SshClient("127.0.0.1", 22, "root", "")) {
client.Connect();
if (client.IsConnected) {
SshCommand x = client.RunCommand("cd ~");
} else {
Console.WriteLine("Not connected");
}
client.Disconnect();
}
尝试使用IsConnected属性
If cSSH.IsConnected Then
Dim x As SshCommand = cSSH.RunCommand("service apache2 status")
con.Text = "Success"
Else
con.Text = "Error! Connection Failed"
End If
谢谢:-)有时你看不见森林,看不见树木。注意:我有一个问题,我一直保持连接打开,但有一段时间没有使用。
IsConnected
返回true,但调用ListDirectory
返回错误(System.NotSupportedException:不支持请求“ping”。
)。未使用KeepAliveInterval
修复此问题。相反,我必须在每次使用后断开连接,以强制IsConnected返回false,从而在每次请求时创建一个新连接。希望这个评论对以后的人有所帮助…我在第一行添加了一个用法。如果代码到达using块的末尾,它将自动在using so(在本例中为var客户端)中处理var