<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FSocket_Network%2FWeb_server</id>
		<title>VB.Net Tutorial/Socket Network/Web server - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FSocket_Network%2FWeb_server"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Socket_Network/Web_server&amp;action=history"/>
		<updated>2026-04-05T12:14:11Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Socket_Network/Web_server&amp;diff=3496&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Socket_Network/Web_server&amp;diff=3496&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Socket_Network/Web_server&amp;diff=3497&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/Socket_Network/Web_server&amp;diff=3497&amp;oldid=prev"/>
				<updated>2010-05-26T12:55:47Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Socket based Web server==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&amp;quot;Visual Basic.Net JingCai Programming 100 Examples&lt;br /&gt;
&amp;quot;Author: Yong Zhang&lt;br /&gt;
&amp;quot;Publisher: Water Publisher China&lt;br /&gt;
&amp;quot;ISBN: 750841156&lt;br /&gt;
Imports System.Net&lt;br /&gt;
Imports System.Net.Sockets&lt;br /&gt;
Imports System.Threading&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.IO&lt;br /&gt;
&lt;br /&gt;
Public Class WebServer&lt;br /&gt;
  Public Shared Sub Main()&lt;br /&gt;
    Dim serverSocket As System.Net.Sockets.Socket&lt;br /&gt;
    Try&lt;br /&gt;
      Dim hostName As String = Dns.GetHostName()&lt;br /&gt;
      Dim serverIP As IPAddress = Dns.Resolve(hostName).AddressList(0)&lt;br /&gt;
      &amp;quot; Web Server Port = 80&lt;br /&gt;
      Dim Port As String = &amp;quot;80&amp;quot;&lt;br /&gt;
      Dim serverHost As New IPEndPoint(serverIP, Int32.Parse(Port))&lt;br /&gt;
      serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)&lt;br /&gt;
      serverSocket.Bind(serverHost)&lt;br /&gt;
      &amp;quot; Backlog = 50&lt;br /&gt;
      serverSocket.Listen(50)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Web server started at: &amp;quot; &amp;amp; serverHost.Address.ToString() &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Port)&lt;br /&gt;
      Dim httpSession As New HTTPSession(serverSocket)&lt;br /&gt;
      Dim serverThread As New Thread(New ThreadStart(AddressOf httpSession.ProcessThread))&lt;br /&gt;
      serverThread.Start()&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Public Class HTTPSession&lt;br /&gt;
  Private serverSocket As System.Net.Sockets.Socket&lt;br /&gt;
  Private clientSocket As System.Net.Sockets.Socket&lt;br /&gt;
&lt;br /&gt;
  Public Sub New(ByVal serverSocket As System.Net.Sockets.Socket)&lt;br /&gt;
    Me.serverSocket = serverSocket&lt;br /&gt;
  End Sub&lt;br /&gt;
  Public Sub ProcessThread()&lt;br /&gt;
    While (True)&lt;br /&gt;
      Try&lt;br /&gt;
        clientSocket = serverSocket.Accept()&lt;br /&gt;
        &amp;quot; Socket Information&lt;br /&gt;
        Dim clientInfo As IPEndPoint = CType(clientSocket.RemoteEndPoint, IPEndPoint)&lt;br /&gt;
        Dim serverInfo As IPEndPoint = CType(serverSocket.LocalEndPoint, IPEndPoint)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Client: &amp;quot; + clientInfo.Address.ToString() + &amp;quot;:&amp;quot; + clientInfo.Port.ToString())&lt;br /&gt;
        Console.WriteLine(&amp;quot;Server: &amp;quot; + serverInfo.Address.ToString() + &amp;quot;:&amp;quot; + serverInfo.Port.ToString())&lt;br /&gt;
        &amp;quot; Set Thread for each Web Browser Connection&lt;br /&gt;
        Dim clientThread As New Thread(New ThreadStart(AddressOf ProcessRequest))&lt;br /&gt;
        clientThread.Start()&lt;br /&gt;
      Catch ex As Exception&lt;br /&gt;
        Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
        If clientSocket.Connected Then&lt;br /&gt;
          clientSocket.Close()&lt;br /&gt;
        End If&lt;br /&gt;
      End Try&lt;br /&gt;
    End While&lt;br /&gt;
  End Sub&lt;br /&gt;
&lt;br /&gt;
  Protected Sub ProcessRequest()&lt;br /&gt;
    Dim recvBytes(1024) As Byte&lt;br /&gt;
    Dim htmlReq As String = Nothing&lt;br /&gt;
    Dim bytes As Int32&lt;br /&gt;
    Try&lt;br /&gt;
      &amp;quot; Receive HTTP Request from Web Browser&lt;br /&gt;
      bytes = clientSocket.Receive(recvBytes, 0, clientSocket.Available, SocketFlags.None)&lt;br /&gt;
      htmlReq = Encoding.ASCII.GetString(recvBytes, 0, bytes)&lt;br /&gt;
      Console.WriteLine(&amp;quot;HTTP Request: &amp;quot;)&lt;br /&gt;
      Console.WriteLine(htmlReq)&lt;br /&gt;
      &amp;quot; Set WWW Root Path&lt;br /&gt;
      Dim rootPath As String = Directory.GetCurrentDirectory() &amp;amp; &amp;quot;\WWWRoot\&amp;quot;&lt;br /&gt;
      &amp;quot; Set default page&lt;br /&gt;
      Dim defaultPage As String = &amp;quot;index.html&amp;quot;&lt;br /&gt;
      Dim strArray() As String&lt;br /&gt;
      Dim strRequest As String&lt;br /&gt;
      strArray = htmlReq.Trim.Split(&amp;quot; &amp;quot;)&lt;br /&gt;
      &amp;quot; Determine the HTTP method (GET only)&lt;br /&gt;
      If strArray(0).Trim().ToUpper.Equals(&amp;quot;GET&amp;quot;) Then&lt;br /&gt;
        strRequest = strArray(1).Trim&lt;br /&gt;
        If (strRequest.StartsWith(&amp;quot;/&amp;quot;)) Then&lt;br /&gt;
          strRequest = strRequest.Substring(1)&lt;br /&gt;
        End If&lt;br /&gt;
        If (strRequest.EndsWith(&amp;quot;/&amp;quot;) Or strRequest.Equals(&amp;quot;&amp;quot;)) Then&lt;br /&gt;
          strRequest = strRequest &amp;amp; defaultPage&lt;br /&gt;
        End If&lt;br /&gt;
        strRequest = rootPath &amp;amp; strRequest&lt;br /&gt;
        sendHTMLResponse(strRequest)&lt;br /&gt;
      Else &amp;quot; Not HTTP GET method&lt;br /&gt;
        strRequest = rootPath &amp;amp; &amp;quot;Error\&amp;quot; &amp;amp; &amp;quot;400.html&amp;quot;&lt;br /&gt;
        sendHTMLResponse(strRequest)&lt;br /&gt;
      End If&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
      If clientSocket.Connected Then&lt;br /&gt;
        clientSocket.Close()&lt;br /&gt;
      End If&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
  &amp;quot; Send HTTP Response&lt;br /&gt;
  Private Sub sendHTMLResponse(ByVal httpRequest As String)&lt;br /&gt;
    Try&lt;br /&gt;
      &amp;quot; Get the file content of HTTP Request &lt;br /&gt;
      Dim streamReader As StreamReader = New StreamReader(httpRequest, Encoding.Default)&lt;br /&gt;
      Dim strBuff As String = streamReader.ReadToEnd()&lt;br /&gt;
      streamReader.Close()&lt;br /&gt;
      streamReader = Nothing&lt;br /&gt;
      &amp;quot; The content Length of HTTP Request&lt;br /&gt;
      Dim respByte() As Byte = Encoding.Default.GetBytes(strBuff)&lt;br /&gt;
      &amp;quot; Set HTML Header&lt;br /&gt;
      Dim htmlHeader As String = _&lt;br /&gt;
          &amp;quot;HTTP/1.0 200 OK&amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Server: WebServer 1.0&amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Content-Length: &amp;quot; &amp;amp; respByte.Length &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Content-Type: &amp;quot; &amp;amp; getContentType(httpRequest) &amp;amp; _&lt;br /&gt;
          ControlChars.CrLf &amp;amp; ControlChars.CrLf&lt;br /&gt;
      &amp;quot; The content Length of HTML Header&lt;br /&gt;
      Dim headerByte() As Byte = Encoding.ASCII.GetBytes(htmlHeader)&lt;br /&gt;
      Console.WriteLine(&amp;quot;HTML Header: &amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; htmlHeader)&lt;br /&gt;
      &amp;quot; Send HTML Header back to Web Browser&lt;br /&gt;
      clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)&lt;br /&gt;
      &amp;quot; Send HTML Content back to Web Browser&lt;br /&gt;
      clientSocket.Send(respByte, 0, respByte.Length, SocketFlags.None)&lt;br /&gt;
      &amp;quot; Close HTTP Socket connection&lt;br /&gt;
      clientSocket.Shutdown(SocketShutdown.Both)&lt;br /&gt;
      clientSocket.Close()&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
      If clientSocket.Connected Then&lt;br /&gt;
        clientSocket.Close()&lt;br /&gt;
      End If&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
  &amp;quot; Get Content Type&lt;br /&gt;
  Private Function getContentType(ByVal httpRequest As String) As String&lt;br /&gt;
    If (httpRequest.EndsWith(&amp;quot;html&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/html&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;htm&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/html&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;txt&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/plain&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;gif&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/gif&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;jpg&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/jpeg&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;jpeg&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/jpeg&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;pdf&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/pdf&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;pdf&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/pdf&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;doc&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/msword&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;xls&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/vnd.ms-excel&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;ppt&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/vnd.ms-powerpoint&amp;quot;&lt;br /&gt;
    Else&lt;br /&gt;
      Return &amp;quot;text/plain&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
  End Function&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TcpListener based Web server==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&amp;quot;Visual Basic.Net JingCai Programming 100 Examples&lt;br /&gt;
&amp;quot;Author: Yong Zhang&lt;br /&gt;
&amp;quot;Publisher: Water Publisher China&lt;br /&gt;
&amp;quot;ISBN: 750841156&lt;br /&gt;
Imports System.Net&lt;br /&gt;
Imports System.Net.Sockets&lt;br /&gt;
Imports System.Threading&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Public Class WebServer&lt;br /&gt;
  Public Shared Sub Main()&lt;br /&gt;
    Try&lt;br /&gt;
      Dim hostName As String = Dns.GetHostName()&lt;br /&gt;
      Dim serverIP As IPAddress = Dns.Resolve(hostName).AddressList(0)&lt;br /&gt;
      &amp;quot; Web Server Port = 80&lt;br /&gt;
      Dim Port As String = &amp;quot;80&amp;quot;&lt;br /&gt;
      Dim tcpListener As New TcpListener(serverIP, Int32.Parse(Port))&lt;br /&gt;
      tcpListener.Start()&lt;br /&gt;
      Console.WriteLine(&amp;quot;Web server started at: &amp;quot; &amp;amp; serverIP.ToString() &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Port)&lt;br /&gt;
      Dim httpSession As New HTTPSession(tcpListener)&lt;br /&gt;
      Dim serverThread As New Thread(New ThreadStart(AddressOf httpSession.ProcessThread))&lt;br /&gt;
      serverThread.Start()&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class HTTPSession&lt;br /&gt;
  Private tcpListener As System.Net.Sockets.TcpListener&lt;br /&gt;
  Private clientSocket As System.Net.Sockets.Socket&lt;br /&gt;
  Public Sub New(ByVal tcpListener As System.Net.Sockets.TcpListener)&lt;br /&gt;
    Me.tcpListener = tcpListener&lt;br /&gt;
  End Sub&lt;br /&gt;
  Public Sub ProcessThread()&lt;br /&gt;
    While (True)&lt;br /&gt;
      Try&lt;br /&gt;
        clientSocket = tcpListener.AcceptSocket()&lt;br /&gt;
        &amp;quot; Socket Information&lt;br /&gt;
        Dim clientInfo As IPEndPoint = CType(clientSocket.RemoteEndPoint, IPEndPoint)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Client: &amp;quot; + clientInfo.Address.ToString() + &amp;quot;:&amp;quot; + clientInfo.Port.ToString())&lt;br /&gt;
        &amp;quot; Set Thread for each Web Browser Connection&lt;br /&gt;
        Dim clientThread As New Thread(New ThreadStart(AddressOf ProcessRequest))&lt;br /&gt;
        clientThread.Start()&lt;br /&gt;
      Catch ex As Exception&lt;br /&gt;
        Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
        If clientSocket.Connected Then&lt;br /&gt;
          clientSocket.Close()&lt;br /&gt;
        End If&lt;br /&gt;
      End Try&lt;br /&gt;
    End While&lt;br /&gt;
  End Sub&lt;br /&gt;
  Protected Sub ProcessRequest()&lt;br /&gt;
    Dim recvBytes(1024) As Byte&lt;br /&gt;
    Dim htmlReq As String = Nothing&lt;br /&gt;
    Dim bytes As Int32&lt;br /&gt;
    Try&lt;br /&gt;
      &amp;quot; Receive HTTP Request from Web Browser&lt;br /&gt;
      bytes = clientSocket.Receive(recvBytes, 0, clientSocket.Available, SocketFlags.None)&lt;br /&gt;
      htmlReq = Encoding.ASCII.GetString(recvBytes, 0, bytes)&lt;br /&gt;
      Console.WriteLine(&amp;quot;HTTP Request: &amp;quot;)&lt;br /&gt;
      Console.WriteLine(htmlReq)&lt;br /&gt;
      &amp;quot; Set WWW Root Path&lt;br /&gt;
      Dim rootPath As String = Directory.GetCurrentDirectory() &amp;amp; &amp;quot;\WWWRoot\&amp;quot;&lt;br /&gt;
      &amp;quot; Set default page&lt;br /&gt;
      Dim defaultPage As String = &amp;quot;index.html&amp;quot;&lt;br /&gt;
      Dim strArray() As String&lt;br /&gt;
      Dim strRequest As String&lt;br /&gt;
      strArray = htmlReq.Trim.Split(&amp;quot; &amp;quot;)&lt;br /&gt;
      &amp;quot; Determine the HTTP method (GET only)&lt;br /&gt;
      If strArray(0).Trim().ToUpper.Equals(&amp;quot;GET&amp;quot;) Then&lt;br /&gt;
        strRequest = strArray(1).Trim&lt;br /&gt;
        If (strRequest.StartsWith(&amp;quot;/&amp;quot;)) Then&lt;br /&gt;
          strRequest = strRequest.Substring(1)&lt;br /&gt;
        End If&lt;br /&gt;
        If (strRequest.EndsWith(&amp;quot;/&amp;quot;) Or strRequest.Equals(&amp;quot;&amp;quot;)) Then&lt;br /&gt;
          strRequest = strRequest &amp;amp; defaultPage&lt;br /&gt;
        End If&lt;br /&gt;
        strRequest = rootPath &amp;amp; strRequest&lt;br /&gt;
        sendHTMLResponse(strRequest)&lt;br /&gt;
      Else &amp;quot; Not HTTP GET method&lt;br /&gt;
        strRequest = rootPath &amp;amp; &amp;quot;Error\&amp;quot; &amp;amp; &amp;quot;400.html&amp;quot;&lt;br /&gt;
        sendHTMLResponse(strRequest)&lt;br /&gt;
      End If&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
      If clientSocket.Connected Then&lt;br /&gt;
        clientSocket.Close()&lt;br /&gt;
      End If&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
  &amp;quot; Send HTTP Response&lt;br /&gt;
  Private Sub sendHTMLResponse(ByVal httpRequest As String)&lt;br /&gt;
    Try&lt;br /&gt;
      &amp;quot; Get the file content of HTTP Request &lt;br /&gt;
      Dim streamReader As StreamReader = New StreamReader(httpRequest)&lt;br /&gt;
      Dim strBuff As String = streamReader.ReadToEnd()&lt;br /&gt;
      streamReader.Close()&lt;br /&gt;
      streamReader = Nothing&lt;br /&gt;
      &amp;quot; The content Length of HTTP Request&lt;br /&gt;
      Dim respByte() As Byte = Encoding.ASCII.GetBytes(strBuff)&lt;br /&gt;
      &amp;quot; Set HTML Header&lt;br /&gt;
      Dim htmlHeader As String = _&lt;br /&gt;
          &amp;quot;HTTP/1.0 200 OK&amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Server: WebServer 1.0&amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Content-Length: &amp;quot; &amp;amp; respByte.Length &amp;amp; ControlChars.CrLf &amp;amp; _&lt;br /&gt;
          &amp;quot;Content-Type: &amp;quot; &amp;amp; getContentType(httpRequest) &amp;amp; _&lt;br /&gt;
          ControlChars.CrLf &amp;amp; ControlChars.CrLf&lt;br /&gt;
      &amp;quot; The content Length of HTML Header&lt;br /&gt;
      Dim headerByte() As Byte = Encoding.ASCII.GetBytes(htmlHeader)&lt;br /&gt;
      Console.WriteLine(&amp;quot;HTML Header: &amp;quot; &amp;amp; ControlChars.CrLf &amp;amp; htmlHeader)&lt;br /&gt;
      &amp;quot; Send HTML Header back to Web Browser&lt;br /&gt;
      clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)&lt;br /&gt;
      &amp;quot; Send HTML Content back to Web Browser&lt;br /&gt;
      clientSocket.Send(respByte, 0, respByte.Length, SocketFlags.None)&lt;br /&gt;
      &amp;quot; Close HTTP Socket connection&lt;br /&gt;
      clientSocket.Shutdown(SocketShutdown.Both)&lt;br /&gt;
      clientSocket.Close()&lt;br /&gt;
    Catch ex As Exception&lt;br /&gt;
      Console.WriteLine(ex.StackTrace.ToString())&lt;br /&gt;
      If clientSocket.Connected Then&lt;br /&gt;
        clientSocket.Close()&lt;br /&gt;
      End If&lt;br /&gt;
    End Try&lt;br /&gt;
  End Sub&lt;br /&gt;
  &amp;quot; Get Content Type&lt;br /&gt;
  Private Function getContentType(ByVal httpRequest As String) As String&lt;br /&gt;
    If (httpRequest.EndsWith(&amp;quot;html&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/html&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;htm&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/html&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;txt&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;text/plain&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;gif&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/gif&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;jpg&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/jpeg&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;jpeg&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;image/jpeg&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;pdf&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/pdf&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;pdf&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/pdf&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;doc&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/msword&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;xls&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/vnd.ms-excel&amp;quot;&lt;br /&gt;
    ElseIf (httpRequest.EndsWith(&amp;quot;ppt&amp;quot;)) Then&lt;br /&gt;
      Return &amp;quot;application/vnd.ms-powerpoint&amp;quot;&lt;br /&gt;
    Else&lt;br /&gt;
      Return &amp;quot;text/plain&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
  End Function&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>