LEADTOOLS JPEG 2000 (Leadtools.Jpip.Server assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
HttpClientRequest Class
See Also  Members  
Leadtools.Jpip.HttpServer Namespace : HttpClientRequest Class



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

Allows reading and decoding HTTP values sent by a client.

Object Model

HttpClientRequest Class

Syntax

Visual Basic (Declaration) 
Public Class HttpClientRequest 
Visual Basic (Usage)Copy Code
Dim instance As HttpClientRequest
C# 
public class HttpClientRequest 
C++/CLI 
public ref class HttpClientRequest 

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

Remarks

The Leadtools.Jpip.HttpServer.HttpClientRequest can read client data received in chunks by calling the Process method multiple times with the chunk data.

The Leadtools.Jpip.HttpServer.HttpClientRequest support HTTP version 1.1

Inheritance Hierarchy

System.Object
   Leadtools.Jpip.HttpServer.HttpClientRequest

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