←Select platform

ChannelId Property

Summary
Gets or sets the channel ID of the client request.

Syntax
C#
C++/CLI
Python
public string ChannelId { get; set; } 
public: 
property String^ ChannelId { 
   String^ get(); 
   void set (    String^ ); 
} 
ChannelId # get and set (ChannelFields) 

Property Value

A System.String value used to associate the request with a particular JPIP channel, and hence the session to which the channel belongs.

Remarks

After a client requests a new channel from the server using the NewChannel field, the server will assign a channel ID. The client should use the assigned channel ID in future requests to the server to identify the session.

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 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

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