2015-03-02 57 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