←Select platform

DelegatedServer Class

Summary

Defines all of the properties needed to delegate a client's requests to another JPIP server.

Syntax

C#
VB
C++
public class DelegatedServer
Public Class DelegatedServer
public ref 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#
VB
Imports Leadtools 
      Imports Leadtools.Codecs 
      Imports Leadtools.Jpip 
      Imports Leadtools.Jpip.Client.WinForms 
      Imports Leadtools.Jpip.Client.InteractiveDecoder 
      Imports Leadtools.Jpip.Server 
      Imports Leadtools.Jpip.Logging 
 
      <TestClass()> _ 
      Public Class ServerDelegationExample 
         Private _server As JpipServer 
         Private Const LOCAL_IP_ADDRESS As String = "127.0.0.1" 
         Private Const PORT_107 As Integer = 107 
         Private IMAGE_NAME As String = Path.Combine(LEAD_VARS.ImagesDir, "Earth8000_Precint_4_.j2k") 
         Private CACHE_DIRECTORY As String = Path.Combine(LEAD_VARS.ImagesDir, "jpeg2000") 
         Public Sub New() 
            _server = New JpipServer() 
         End Sub 
 
         <TestMethod()> _ 
         Public Sub SetServerDelegation() 
#If LEADTOOLS_V175_OR_LATER Then 
            Leadtools.Examples.Support.SetLicense() 
#Else 
            Leadtools.Examples.Support.Unlock() 
#End If ' #If LEADTOOLS_V175_OR_LATER Then 
            Dim delegatedServer1 As DelegatedServer 
            Dim delegatedServer2 As DelegatedServer 
 
 
            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()) 
 
            For Each server As DelegatedServer In _server.Configuration.DelegateServers 
               Console.WriteLine("Server: {0}:{1}", server.IpAddress, server.Port.ToString()) 
            Next server 
 
            _server.Start() 
 
            ' client side  
            Dim jpipViewer As JpipRasterImageViewer = New JpipRasterImageViewer() 
            SetViewer(jpipViewer) 
            AddHandler jpipViewer.FileOpened, AddressOf jpipViewer_FileOpened 
            jpipViewer.Open(IMAGE_NAME) 
         End Sub 
         Private Sub jpipViewer_FileOpened(ByVal sender As Object, ByVal e As EventArgs) 
            Dim jpipViewer As JpipRasterImageViewer = DirectCast(sender, JpipRasterImageViewer) 
            jpipViewer.ZoomIn() 
            jpipViewer.Close() 
 
            _server.Stop() 
 
 
         End Sub 
 
         Public Sub SetViewer(ByVal viewer As JpipRasterImageViewer) 
            viewer.CacheDirectoryName = CACHE_DIRECTORY 
            viewer.PortNumber = PORT_107 
            viewer.IPAddress = LOCAL_IP_ADDRESS 
            viewer.PacketSize = 16384 
            viewer.ChannelType = JpipChannelTypes.HttpChannel 
         End Sub 
 
      End Class 
 
      Public NotInheritable Class LEAD_VARS 
      Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
      End Class 
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 ( )  
         { 
#if LEADTOOLS_V175_OR_LATER 
            Leadtools.Examples.Support.SetLicense(); 
#else 
            Leadtools.Examples.Support.Unlock(); 
#endif // #if LEADTOOLS_V175_OR_LATER 
            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:\Users\Public\Documents\LEADTOOLS Images"; 
         } 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Jpip.Server Assembly
Click or drag to resize