通过NMSSH的数据流

时间:2013-06-26 18:41:52

标签: ios objective-c ssh libssh2

您好我想为OSX开发一个SSH应用程序,我一直在研究基于libssh2构建的NMSSH。我该如何处理以下用例:

  

应用程序用户向服务器发送ping命令。 =>结果   是持续的回应

NMSSH的方法是发送命令获取响应并将其放入NSString中,如下所示。但是我如何处理例如ping的情况,其中响应继续进行。我是否需要使用其他SSH软件包来实现此功能?

NMSSHSession *session = [NMSSHSession connectToHost:@"127.0.0.1:22"
                                       withUsername:@"user"];

if (session.isConnected) {
    [session authenticateByPassword:@"pass"];

    if (session.isAuthorized) {
        NSLog(@"Authentication succeeded");
    }
}

NSError *error = nil;
NSString *response = [session.channel execute:@"ls -l /var/www/" error:&error];
NSLog(@"List of my sites: %@", response);

BOOL success = [session.channel uploadFile:@"~/index.html" to:@"/var/www/9muses.se/"];

[session disconnect];

1 个答案:

答案 0 :(得分:2)

正确的答案是将库的shell功能与channel delegate的回调方法结合使用。在lib中发现了一些问题,但从issue #20

开始修复