AsyncFtpClient ftp = new AsyncFtpClient();
IAsyncResult result = ftp.BeginConnect( "ftp.server.com", null, null );
while( !result.IsCompleted )
Application.DoEvents();
ftp.EndConnect( result );
result = ftp.BeginLogin( null, null );
while( !result.IsCompleted )
Application.DoEvents();
ftp.EndLogin( result );
result = ftp.BeginGetDownloadStream( "test.txt", 0, null, null );
while( !result.IsCompleted )
Application.DoEvents();
using( System.IO.Stream stream = ftp.EndGetDownloadStream( result ) )
{
byte[] buffer = new byte[ 32768 ];
int bytesRead = 0;
// Loop until we have nothing more to read from the source stream.
// We are assuming that the data contained in the file is text
string data = string.Empty;
while( ( bytesRead = stream.Read( buffer, 0, buffer.Length ) ) > 0 )
{
data += System.Text.Encoding.ASCII.GetString( buffer );
}
System.Diagnostics.Debug.WriteLine( data );
}