Improving MHT Download Performance with Caching

Question: I’m spidering search results and trying to archive hundreds of pages to MHT’s.  I’m testing your control and found it much slower than Internet Explorer. Also, while I’m not doing this now, is this control threadsafe if I ever wanted to try that to improve performance? Answer: Internet Explorer is faster because it uses multiple threads, and because it uses […]

SFTP and SSH: Separate Connections Required?

Question: I have an application using your code that does several SSH and SFTP command during processing. Can I just establish a connection, authenticate passwords and the other setup steps once and then use that connection throughout the program or do I need to perform these steps in every function? If I can do I need a separate connection for […]

Exchange Server – POP3, IMAP, and SMTP

Question: May I ask if is possible use Chilkat components to connect to MS Exchange 6.5 and higher ? I am thinking about purchase of MailMan component or other as it is, however I would like read some example in C# for reading emails from Exchange and sending emails via Exchange after connecting to the specified account domain/logname & password. […]

ClickOnce w/ x64 DLL’s

I recently discovered this crucial bit of information: I compile my project for x86 systems (vs Any CPU or x64). Just wanted you to be aware of this. Your last email stated “You must deploy the x64 ChilkatDotNet2.dll to x64 systems” which is not correct.  This is an important consideration for “Click Once” deployments which do not have built-in conditional […]

Socket Error: WSAEWOULDBLOCK

NOTE: If this error occurred while trying to establish an FTP data connection, also see this: https://cknotes.com/?p=282 A WSAEWOULDBLOCK error when trying to establish a TCP/IP socket connection indicates one of the following conditions: A firewall at either the client or server side is blocking the connection. There is no server listening at the remote host:port to accept the connection […]

HTTP Progress Monitoring in C++

This blog post shows how to monitor the progress of HTTP uploads and downloads in C++.  The first step is to create a C++ callback class that derives from the CkHttpProgress base class.  You’ll be overriding one or more of the callback methods.  For example: class MyHttpProgress : public CkHttpProgress { public: MyHttpProgress(void) { } virtual ~MyHttpProgress(void) { } void […]

BASE64 Decode with Charset GB2312

Question: I have a Base64 decode error, as follows: CkString str; str.setString(“16q”); str.base64Decode(“gb2312”); const char *strResult = str.getString(); convert result is { cb f2 } But the correct result should be { d7 aa} What’s wrong? The platform is WinCE 6.0, use Chilkat_PPC_M5.lib Answer: The following code shows how to do it correctly: CkString str; str.setString(“16q”); // The following line […]

Scan/Replace Text in Email Body in C++

This example may help C++ programmers needing to scan email bodies for strings and automatically replace: void EmailBodyExample(void) { CkEmail email; // Set the plain-text and HTML alternative bodies. // Note: Because we’re using literal strings, the strings passed // to these methods are ANSI strings (i.e. they are 1-byte per char // in this case). email.AddPlainTextAlternativeBody(“á, é, í, ó, […]

Chilkat 9.0.4 Release Notes

C++ Libraries Removed internal calls to setlocale so that the locale is never changed from whatever your application may have set it to. Compression Fixed rare PPMD crash. DSA Fixed LoadText method in DSA ActiveX. FTP2 Two additional modes added to SyncLocalTree: mode 5 – Download only missing files or files with size differences. mode 6 – Same as mode […]