Defines all of the properties needed to delegate a client's requests to another JPIP server.
public class DelegatedServer
Public Class DelegatedServer
public ref class DelegatedServer
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.
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";
}
Products |
Support |
Feedback: DelegatedServer Class - Leadtools.Jpip.Server |
Introduction |
Help Version 19.0.2017.3.22
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.