←Select platform

ServerControlFields Class

Summary
Defines all of the fields that control the server response.

Syntax
C#
C++/CLI
Python
public class ServerControlFields 
public ref class ServerControlFields  
class ServerControlFields: 
Remarks

When a client request is received, this class will contain the JPIP Server Control fields received from the client.

Access this class from the RequestFields.RequestServerControlFields property in the RequestFields class when a new client request is received.

A JPIP Client uses this class to provide information to the server on how it should execute the current request.

The client can tell the server the type of image streams it is willing to accept using the ImageReturnTypes property. For more information about allowed image return types check the ImageReturnType enumeration.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpip; 
using Leadtools.Jpip.Caching; 
using Leadtools.Jpip.HttpServer; 
using Leadtools.Jpip.RequestDecoder; 
using Leadtools.Jpip.RequestEncoder; 
using Leadtools.Jpip.Client.WinForms; 
using Leadtools.Jpip.Client.InteractiveDecoder; 
using Leadtools.Jpip.Server; 
using Leadtools.Jpip.Logging; 
 
public void SendClientRequest() 
{ 
   Leadtools.Examples.Support.SetLicense(); 
   RequestFields fields = new RequestFields(); 
   ModelItem cacheModleItem; 
   ExplicitBinDescriptor binDescriptor; 
   ModelElement cacheModleElement; 
 
   fields.RequestTargetFields = new TargetFields("0", "image1.jp2", null); 
   fields.RequestChannelFields.NewChannel = new string[] { "http" }; 
   fields.RequestDataLimitFields.DataLength = 16384; 
   cacheModleItem = new ModelItem(); 
   binDescriptor = new ExplicitBinDescriptor(ExplicitBin.MetaBin, 0, null); //indicate that metadata bin 0 is locally cached and need not be sent. 
   cacheModleElement = new ModelElement(false, binDescriptor); 
   cacheModleItem.BinDescriptors.Add(cacheModleElement); 
   cacheModleItem.CodeStreamRange.Add(new Range(0, 0)); 
   fields.RequestCacheManagementFields.ModelItems.Add(cacheModleItem); 
   ImageReturnType imageType = new ImageReturnType(ImageTypes.JppStream, false); 
   fields.RequestServerControlFields.ImageReturnTypes = new ImageReturnType[] { imageType }; 
   fields.RequestViewWindowFields.FrameSize = new LeadSize(500, 300); 
   fields.RequestViewWindowFields.RegionOffset = new LeadPoint(0, 100); 
   fields.RequestViewWindowFields.FrameSizeRoundingDirection = RoundingDirection.Closest; 
   SampleRange codeStreamRange = new SampleRange(); 
   codeStreamRange.Range = new Range(0, 0); 
   fields.RequestViewWindowFields.CodeStream.Add(codeStreamRange); 
   HttpRequestEncoder encoder = new HttpRequestEncoder(IPAddress.Parse("127.0.0.1"), 108); 
   HttpWebRequest request = encoder.Encode(fields, "jpip", null); 
   Console.WriteLine(request.Address.ToString()); 
   HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
   Console.WriteLine("Server response received."); 
   Console.WriteLine(response.Headers.ToString()); 
} 
 
public Socket GetClientSocket() 
{ 
   Socket listenSocket = new Socket(AddressFamily.InterNetwork, 
                                     SocketType.Stream, 
                                     ProtocolType.Tcp); 
   IPAddress hostIP = IPAddress.Parse("127.0.0.1"); 
   int port = 107; 
   IPEndPoint ep = new IPEndPoint(hostIP, port); 
   listenSocket.Bind(ep); 
   // start listening 
   listenSocket.Listen(10); 
   //a client should send a request to the listening address 
   Socket client = listenSocket.Accept(); 
   listenSocket.Close(); 
   return client; 
} 
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 Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.