ComponentPro UltimateFtp

      GetServerTimeDifferenceAsync(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(
         object userToken = null
      )

      Parameters

      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 Main2()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // The event KeepAliveCompleted is fired when the operation completes. 
          client.GetServerTimeDifferenceCompleted += callback2;
      
          // Asynchronously get time difference. 
          TimeSpan ts = await client.GetServerTimeDifferenceAsync("user state");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      private static void callback2(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 Main2()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // Register an event handler. 
          client.GetServerTimeDifferenceCompleted += callback2;
          // Asynchronously get time difference. 
          client.GetServerTimeDifferenceAsync("user state");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      static void callback2(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