Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Newbie corner » [Solved] SFTPBrowser example build failed (SFTPBrowser example buil error: error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function winstore_close)
Re: SFTPBrowser example build failed [message #61296 is a reply to message #61295] Fri, 20 December 2024 09:20 Go to previous messageGo to previous message
Scott_Huang is currently offline  Scott_Huang
Messages: 27
Registered: December 2024
Promising Member
Hello Oblivion,

Good to know you will enhance code again to add progressing %. Thnaks.

In the meanwhile, I also try upgrade the old code and testing by myself with below update:
		case PUT: {
			pi.Title(t_("Uploading ") << GetFileName(src));
			FileIn fin(src);
			/*
			if(fin && !worker.SaveFile(dest, fin))
				ErrorOK(DeQtf(worker.GetErrorDesc()));
			break;
			*/

			SFtpFileOut fout(worker, dest);
			int64 size = fin.GetSize(), count = 0;
			int64 chunkSize = 1024 * 64;
			Buffer<byte> chunk(chunkSize, 0);
			Gate<int64, int64>      WhenProgress;
			WhenProgress(0, size);
			
				while(!fin.IsEof()) {
					RLOG(Format("size %d, count %d, chunkSize %d, min %d",  size, count, chunkSize, (int)min<int64>(size - count, chunkSize)  ));
					int n = fin.Get(chunk, (int) min<int64>(size - count, chunkSize));
					RLOG(Format("n %d",n));
					if(n > 0) {
						fout.Put(chunk, n);
						if(fout.IsError()) {
							RLOG("Stream write error. " + fin.GetErrorText() + " out stream: "+fout.GetErrorText());
							ErrorOK(DeQtf(worker.GetErrorDesc())+"Stream write error. " + fin.GetErrorText() + " out stream: "+fout.GetErrorText());
							break;
						}
						count += n;
						if(WhenProgress(count, size)) {
							break;
						}
					}
					if(fin.IsError()) {
						RLOG("Stream read error. " + fin.GetErrorText());
						ErrorOK(DeQtf(worker.GetErrorDesc())+"Stream read error. " + fin.GetErrorText());
						break;
					}
				}
				
				
			}


The LOG:

SSH: SFtp, oid: 2: File handle freed.
dest: /\test.txt, UnixPath: //test.txt
SSH: SFtp, oid: 3: Session successfully initialized.
SSH: SFtp, oid: 3: File '//test.txt' is successfully opened.
SSH: SFtp, oid: 3: File attributes successfully retrieved.
size 47, count 0, chunkSize 65536, min 47
n 47
SSH: SFtp, oid: 3: EOF received.
Stream write error. out stream: A non-blocking socket operation could not be completed immediately.

SSH: SFtp, oid: 3: File handle freed.
SSH: SFtp, oid: 2: Directory '/' is successfully opened.
SSH: SFtp, oid: 2: Directory listing is successful. (7 entries)
SSH: SFtp, oid: 2: File handle freed.
SSH: SFtp, oid: 3: Session deinitalized.

May be you can checking why EOF received? Is it caused by non-blocking socket & blocking socket different if compare with your SFTP and my company's SFTP server?
Thanks.

Regards,
Scott Huang

[Updated on: Fri, 20 December 2024 09:25]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Latest U++ PDF version user guide to describe framework/tips/examples
Next Topic: The UPP looks good -> Opportunities to evolve to better support RPA & AI
Goto Forum:
  


Current Time: Tue Aug 05 14:43:57 CEST 2025

Total time taken to generate the page: 0.03524 seconds