LEADTOOLS JPEG 2000 (Leadtools.Jpip.Server assembly)

HttpClientRequest Class

Show in webframe
Example 





Members 
Allows reading and decoding HTTP values sent by a client.
Object Model
Syntax
public class HttpClientRequest 
'Declaration
 
Public Class HttpClientRequest 
'Usage
 
Dim instance As HttpClientRequest

            

            
public ref class HttpClientRequest 
Remarks

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

The HttpClientRequest support HTTP version 1.1

Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Jpip
Imports Leadtools.Jpip.HttpServer
Imports Leadtools.Jpip.RequestDecoder
Imports Leadtools.Jpip.RequestEncoder
Imports Leadtools.Jpip.Client.WinForms
Imports Leadtools.Jpip.Client.InteractiveDecoder
Imports Leadtools.Jpip.Server
Imports Leadtools.Jpip.Logging

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
using Leadtools;
         using Leadtools.Codecs;
         using Leadtools.Jpip;
         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 ProcessClientRequests()
         {
#if LEADTOOLS_V175_OR_LATER
            Leadtools.Examples.Support.SetLicense();
#else
            Leadtools.Examples.Support.Unlock();
#endif // #if LEADTOOLS_V175_OR_LATER
            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

See Also

Reference

HttpClientRequest Members
Leadtools.Jpip.HttpServer Namespace

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Jpip.Server requires a Document or Medical license and unlock key as well as a server license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features