LEADTOOLS JPEG 2000 (Leadtools.Jpip.Server assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
HttpRequestDecoder Constructor
See Also  Example
Leadtools.Jpip.RequestDecoder Namespace > HttpRequestDecoder Class : HttpRequestDecoder Constructor



client
An Leadtools.Jpip.HttpServer.HttpClientRequest object representing the current client request to decode.

The HttpRequestDecoder Constructor includes members that are available as an add-on to the LEADTOOLS Imaging Pro, Document, and Medical Imaging toolkits.

Creates a new instance of the HttpRequestDecoder class.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal client As HttpClientRequest _
)
Visual Basic (Usage)Copy Code
Dim client As HttpClientRequest
 
Dim instance As New HttpRequestDecoder(client)
C# 
public HttpRequestDecoder( 
   HttpClientRequest client
)
C++/CLI 
public:
HttpRequestDecoder( 
   HttpClientRequest^ client
)

Parameters

client
An Leadtools.Jpip.HttpServer.HttpClientRequest object representing the current client request to decode.

Example

Visual BasicCopy Code
Public Class HttpServerCommunication
      Private Sub ProcessClientRequests()

         Dim clientRequest As HttpClientRequest = Nothing
         Dim decoder As HttpRequestDecoder = Nothing
         Dim client As Socket

         client = GetClientSocket()
         clientRequest = New HttpClientRequest()
         Dim clientData As Byte()

         Dim received As Integer

         Do
            clientData = New Byte(client.ReceiveBufferSize - 1) {}

            received = client.Receive(clientData)


            clientRequest.Process(clientData, 0, received)

         Loop While clientRequest.Execute 'receive data until a complete request is received

         Console.WriteLine("Client request received: {0}", clientRequest.CompleteMessage)

         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "ServerRequests.dat"), clientRequest.BodyData)
         decoder = New HttpRequestDecoder(clientRequest)

         Console.WriteLine("Server will process client image {0}", decoder.Fields.RequestTargetFields.Target)


         'Process client request...
         '...

         client.Close()
      End Sub

      Private Function GetClientSocket() As Socket

         Dim 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 = 107

         Dim ep As IPEndPoint = New IPEndPoint(hostIP, port)

         listenSocket.Bind(ep)

         ' start listening
         listenSocket.Listen(10)

         'a client should send a request to the listening address
         Dim client As Socket = listenSocket.Accept()

         listenSocket.Close()

         Return client
      End Function
   End Class

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void ProcessClientRequests()
      {
          Leadtools.Examples.Support.Unlock();
         HttpClientRequest clientRequest = null;
         HttpRequestDecoder decoder = null;
         Socket client;
         client = GetClientSocket();
         clientRequest = new HttpClientRequest();
         byte[] clientData ;
         int received;
         do
         {
            clientData = new byte[client.ReceiveBufferSize];
            received = client.Receive(clientData);
            clientRequest.Process(clientData, 0,  received);
         } while (clientRequest.Execute); //receive data until a complete request is received

         Console.WriteLine( "Client request received: {0}", clientRequest.CompleteMessage);
         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "ServerRequests.dat"), clientRequest.BodyData);
         decoder = new HttpRequestDecoder(clientRequest);
         Console.WriteLine( "Server will process client image {0}", decoder.Fields.RequestTargetFields.Target);
         //Process client request...
         client.Close();
      }

      private 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;
      }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Jpip.Server requires a JPIP Module and a server license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features