public class HttpRequestEncoder Public Class HttpRequestEncoder
public ref class HttpRequestEncoder Use this class to create an System.Net.HttpWebRequest which holds the JPIP parameters to be sent to the server.
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;}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.JpipImports Leadtools.Jpip.CachingImports Leadtools.Jpip.HttpServerImports Leadtools.Jpip.RequestDecoderImports Leadtools.Jpip.RequestEncoderImports Leadtools.Jpip.Client.WinFormsImports Leadtools.Jpip.Client.InteractiveDecoderImports Leadtools.Jpip.ServerImports Leadtools.Jpip.LoggingPublic Class HttpClientCommunicationPublic Sub SendClientRequest()Dim fields As RequestFields = New RequestFields()Dim cacheModleItem As ModelItemDim binDescriptor As ExplicitBinDescriptorDim cacheModleElement As ModelElementfields.RequestTargetFields = New TargetFields("0", "image1.jp2", Nothing)fields.RequestChannelFields.NewChannel = New String() {"http"}fields.RequestDataLimitFields.DataLength = 16384cacheModleItem = New ModelItem()binDescriptor = New ExplicitBinDescriptor(ExplicitBin.MetaBin, 0, Nothing) '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)Dim imageType As ImageReturnType = 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.ClosestDim codeStreamRange As SampleRange = New SampleRange()codeStreamRange.Range = New Range(0, 0)fields.RequestViewWindowFields.CodeStream.Add(codeStreamRange)Dim encoder As HttpRequestEncoder = New HttpRequestEncoder(IPAddress.Parse("127.0.0.1"), 49201)Dim request As HttpWebRequest = encoder.Encode(fields, "jpip", Nothing)Console.WriteLine(request.Address.ToString())Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)Console.WriteLine("Server response received.")Console.WriteLine(response.Headers.ToString())End SubPrivate Function GetClientSocket() As SocketDim listenSocket As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)Dim hostIP As IPAddress = IPAddress.Parse("127.0.0.1")Dim port As Integer = 107Dim ep As IPEndPoint = New IPEndPoint(hostIP, port)listenSocket.Bind(ep)' start listeninglistenSocket.Listen(10)'a client should send a request to the listening addressDim client As Socket = listenSocket.Accept()listenSocket.Close()Return clientEnd FunctionEnd Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
