public BinDescriptor Descriptor { get; }
A BinDescriptor which describes the data-bins for server cache management.
The descriptor can either be an ExplicitBinDescriptor or an ImplicitBinDescriptor type.
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 listeninglistenSocket.Listen(10);//a client should send a request to the listening addressSocket client = listenSocket.Accept();listenSocket.Close();return client;}