ComponentPro UltimateFtp

      GetServerTimeDifferenceAsync(ExtendedAsyncCompletedEventHandler<TimeSpan>, Object) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Initiates an asynchronous operation to get the time difference between the client and server. Not all FTP servers support this!

      Syntax

      public Task<TimeSpan> GetServerTimeDifferenceAsync(
         ExtendedAsyncCompletedEventHandler<TimeSpan> callback, 
         object userToken = null
      )

      Parameters

      callback
      An optional asynchronous callback to be invoked when this operation completes. This parameter can be null.
      userToken
      A user-provided object that identifies this particular asynchronous operation.

      Return Value

      An object that references the asynchronous operation.

      Examples

      Shows how to use GetServerTimeDifferenceAsync method to asynchronously detect time difference between the client and the server (Task-based approach).

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      using ComponentPro;
      
      ...
      
      async static void Main1()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // Asynchronously get time difference. 
          TimeSpan ts = await client.GetServerTimeDifferenceAsync(callback1, "user state");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      private static void callback1(object sender, ExtendedAsyncCompletedEventArgs<TimeSpan> e)
      {
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
          else 
              Console.WriteLine("Result: " + e.Result.ToString());
      
          Console.WriteLine("Method completed. User state: " + e.UserState);
      }

      Shows how to use GetServerTimeDifferenceAsync method to asynchronously detect time difference between the client and the server (Event-based approach).

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      using ComponentPro;
      
      ...
      
      public static void Main1()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // Asynchronously get time difference. 
          client.GetServerTimeDifferenceAsync(callback1, "user state");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      static void callback1(object sender, ExtendedAsyncCompletedEventArgs<TimeSpan> e)
      {
          // Ftp client = (Ftp)sender; 
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.Message);
          else 
          {
              // Get the time difference between the server and the client. 
              TimeSpan ts = e.Result;
              Console.WriteLine("Time difference: " + ts.ToString());
          }
      
          Console.WriteLine("Method completed. User-state: " + e.UserState);
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.Ftp.CF (in ComponentPro.Ftp.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.Ftp (in ComponentPro.Ftp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.Ftp.Android (in ComponentPro.Ftp.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.Ftp.Mac (in ComponentPro.Ftp.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.Ftp.iOS (in ComponentPro.Ftp.iOS.dll)

      See Also