2015-03-02 53 views
3

我想了解如何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.Dispose(); 

而且我怎么证明的结果“client.RunCommand(”服务的Apache2状态“); “逻辑?
例如如果(X == “的Apache2运行”)

回答

4

您可以检查SshClient.IsConnected属性:

if (!client.IsConnected) 
{ 
    // Display error 
} 
+0

谢谢:-)有时你可以没有看到树木的森林。 – udgru 2015-03-02 15:23:29

1

您可以使用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(); 
} 
+0

命令“client.Dispose();”不必要? – udgru 2015-03-02 15:23:56

+0

我在第一行添加了一个使用。如果代码到达使用块的末尾,它会自动将var置于使用中,所以在这种情况下var客户端(SshClient) – 2015-03-02 15:26:34