DelegatedServer Class

Summary
Defines all of the properties needed to delegate a client's requests to another JPIP server.
Syntax
C#
C++/CLI
Python
public class DelegatedServer 
public ref class DelegatedServer  
class DelegatedServer: 
Remarks

You create an instance of this class with the properties you want and then you add it to the DelegatedServersCollection collection.

If multiple DelegatedServer are added into the DelegatedServersCollection collection the load is distributed based on a round-robin algorithm until each DelegatedServer receives its share.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpip; 
using Leadtools.Jpip.Client.WinForms; 
using Leadtools.Jpip.Client.InteractiveDecoder; 
using Leadtools.Jpip.Server; 
using Leadtools.Jpip.Logging; 
 
private JpipServer _server; 
private const string LOCAL_IP_ADDRESS = "127.0.0.1"; 
private const int PORT_107 = 107; 
private string IMAGE_NAME = Path.Combine(LEAD_VARS.ImagesDir, "Earth8000_Precint_4_.j2k"); 
private string CACHE_DIRECTORY = Path.Combine(LEAD_VARS.ImagesDir, "jpeg2000"); 
 
public ServerDelegationExample() 
{ 
   _server = new JpipServer(); 
} 
 
public void SetServerDelegation() 
{ 
   Leadtools.Examples.Support.SetLicense(); 
   DelegatedServer delegatedServer1; 
   DelegatedServer delegatedServer2; 
   delegatedServer1 = new DelegatedServer("127.0.0.1", 108, 6); 
   delegatedServer2 = new DelegatedServer("127.0.0.1", 105, 3); 
   _server.Configuration.DelegateServers.Clear(); 
   _server.Configuration.DelegateServers.Add(delegatedServer1); 
   _server.Configuration.DelegateServers.Add(delegatedServer2); 
   Console.WriteLine("Server requests will be delegated to the following {0} servers:", 
                       _server.Configuration.DelegateServers.Count.ToString()); 
 
   foreach (DelegatedServer server in _server.Configuration.DelegateServers) 
   { 
      Console.WriteLine("Server: {0}:{1}", server.IpAddress, server.Port.ToString()); 
   } 
   _server.Start(); 
 
   /* client side */ 
   JpipRasterImageViewer jpipViewer = new JpipRasterImageViewer(); 
   jpipViewer.FileOpened += new EventHandler(jpipViewer_FileOpened); 
   SetViewer(jpipViewer); 
   jpipViewer.Open(IMAGE_NAME); 
} 
 
void jpipViewer_FileOpened(object sender, EventArgs e) 
{ 
   JpipRasterImageViewer jpipViewer = (JpipRasterImageViewer)sender; 
   jpipViewer.ZoomIn(); 
   jpipViewer.Close(); 
   _server.Stop(); 
 
} 
 
public void SetViewer(JpipRasterImageViewer viewer) 
{ 
   viewer.CacheDirectoryName = CACHE_DIRECTORY; 
   viewer.PortNumber = PORT_107; 
   viewer.IPAddress = LOCAL_IP_ADDRESS; 
   viewer.PacketSize = 16384; 
   viewer.ChannelType = JpipChannelTypes.HttpChannel; 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Jpip.Server Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.