Home » U++ Library support » U++ MT-multithreading and servers » SSH package for U++ (A feature-rich ilbssh2 wrapper for Ultimate++)
Re: SSH package for U++ [message #48982 is a reply to message #48973] |
Fri, 17 November 2017 22:15   |
Oblivion
Messages: 1226 Registered: August 2007
|
Senior Contributor |
|
|
Hello,
I am currenty writing a simple SFTP (GUI) browser example, which I will include in the package, and upload it to GIT repo.
In the meantime, for those who wonder how to do non-blocking operations with SFtp, here is a simple example (it is a real example which can be compiled.):
#include <Core/Core.h>
#include <SSH/SSH.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
// This example demonstrates (in non-blocking mode):
// 1) Reading the size of a file.
// 2) Reading the content of a file (into a String).
// 3) Reading the content of a directory as XML.
int CMD_GET = 0, CMD_LIST = 0, CMD_SIZE = 0;
const char *file = "/readme.txt";
SFtp::DirList ls;
Ssh::Trace();
SshSession session;
if(session.Timeout(30000).Connect("test.rebex.net", 22, "demo", "password")) {
Array<SFtp> sftps;
for(int i = 0; i < 3; i++) {
auto& sftp = sftps.Add(new SFtp(session));
sftp.NonBlocking();
switch(i) {
case 0: sftp.Get(file); CMD_GET = sftp.GetId(); break;
case 1: sftp.GetSize(file); CMD_SIZE = sftp.GetId(); break;
case 2: sftp.ListDir("/pub/example/", ls); CMD_LIST = sftp.GetId(); break;
default: NEVER();
}
}
while(!sftps.IsEmpty()) {
for(int i = 0 ; i < sftps.GetCount(); i++) {
SocketWaitEvent we;
auto& sftp = sftps[i];
sftp.AddTo(we);
we.Wait(10);
if(!sftp.Do()) {
if(sftp.IsError())
Cerr() << sftp.GetErrorDesc() << '\n';
else {
if(sftp.GetId() == CMD_GET) {
Cout() << sftp.GetResult();
}
else
if(sftp.GetId() == CMD_SIZE) {
Cout() << Format("Size of %s is %d bytes\n", file, sftp.GetResult());
}
else
if(sftp.GetId() == CMD_LIST) {
for(auto& e : ls)
Cout() << e.ToXml() << '\n';
}
}
sftps.Remove(i);
break;
}
}
}
}
else
Cerr() << session.GetErrorDesc();
}
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Fri, 17 November 2017 22:19] Report message to a moderator
|
|
|
 |
|
SSH package for U++
By: Oblivion on Tue, 14 November 2017 21:59
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 17 November 2017 22:15
|
 |
|
Re: SSH package for U++
By: Oblivion on Sat, 18 November 2017 15:57
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 19 November 2017 18:21
|
 |
|
Re: SSH package for U++
By: Oblivion on Tue, 21 November 2017 00:38
|
 |
|
Re: SSH package for U++
By: koldo on Thu, 23 November 2017 09:07
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 24 November 2017 21:03
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 26 November 2017 09:59
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 01 December 2017 14:35
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: Oblivion on Sat, 02 December 2017 10:44
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: Oblivion on Mon, 04 December 2017 22:46
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: Oblivion on Tue, 19 December 2017 14:27
|
 |
|
Re: SSH package for U++
By: Oblivion on Tue, 19 December 2017 14:44
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 07 January 2018 22:09
|
 |
|
Re: SSH package for U++
By: koldo on Mon, 08 January 2018 08:27
|
 |
|
Re: SSH package for U++
By: Oblivion on Tue, 09 January 2018 23:15
|
 |
|
Re: SSH package for U++
By: koldo on Wed, 10 January 2018 08:53
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 19 January 2018 14:18
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 21 January 2018 12:18
|
 |
|
Re: SSH package for U++
By: koldo on Sun, 21 January 2018 16:53
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 28 January 2018 12:13
|
 |
|
Re: SSH package for U++
By: Oblivion on Mon, 02 April 2018 23:27
|
 |
|
Re: SSH package for U++
By: Oblivion on Sat, 07 April 2018 16:25
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 15 April 2018 00:39
|
 |
|
Re: SSH package for U++
By: Oblivion on Sat, 21 April 2018 08:12
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: mirek on Tue, 10 July 2018 14:37
|
 |
|
Re: SSH package for U++
By: mirek on Tue, 10 July 2018 15:38
|
 |
|
Re: SSH package for U++
By: mirek on Tue, 10 July 2018 15:42
|
 |
|
Re: SSH package for U++
|
 |
|
Re: SSH package for U++
By: mirek on Tue, 31 July 2018 11:07
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 03 August 2018 17:34
|
 |
|
Re: SSH package for U++
By: mirek on Fri, 03 August 2018 18:03
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 03 August 2018 18:44
|
 |
|
Re: SSH package for U++
By: Oblivion on Tue, 07 August 2018 23:32
|
 |
|
Re: SSH package for U++
By: mirek on Wed, 08 August 2018 10:56
|
 |
|
Re: SSH package for U++
By: Oblivion on Wed, 08 August 2018 11:22
|
 |
|
Re: SSH package for U++
By: mirek on Wed, 08 August 2018 13:28
|
 |
|
Re: SSH package for U++
By: Oblivion on Wed, 08 August 2018 14:16
|
 |
|
Re: SSH package for U++
By: mirek on Thu, 09 August 2018 11:54
|
 |
|
Re: SSH package for U++
By: mirek on Thu, 09 August 2018 12:00
|
 |
|
Re: SSH package for U++
By: Oblivion on Thu, 09 August 2018 16:24
|
 |
|
Re: SSH package for U++
By: mirek on Thu, 09 August 2018 16:49
|
 |
|
Re: SSH package for U++
By: Oblivion on Thu, 09 August 2018 17:03
|
 |
|
Re: SSH package for U++
By: Oblivion on Thu, 09 August 2018 17:59
|
 |
|
Re: SSH package for U++
By: mirek on Thu, 09 August 2018 18:35
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 12 August 2018 12:51
|
 |
|
Re: SSH package for U++
By: Oblivion on Thu, 30 August 2018 07:27
|
 |
|
Re: SSH package for U++
By: mirek on Thu, 30 August 2018 09:04
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 31 August 2018 00:12
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 02 September 2018 21:59
|
 |
|
Re: SSH package for U++
By: Oblivion on Wed, 31 October 2018 11:00
|
 |
|
Re: SSH package for U++
By: Oblivion on Sun, 04 November 2018 19:55
|
 |
|
Re: SSH package for U++
By: Oblivion on Fri, 22 March 2019 17:39
|
Goto Forum:
Current Time: Mon Aug 25 02:30:04 CEST 2025
Total time taken to generate the page: 0.07819 seconds
|