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