hola al todos hace un par de haños comence a programar en visual studio. Actualmente me encuaentro en un proyecto de  crear un servidor Http e echo programas de coneccion tcp pero me encuentro muy travado con http e encontrado un codigo en internet pero no logro hacerlo funcionar correctamente. Con coneccion tcp logro la comunicacion con un navegador web (google crom y opera mini desde un telefono con android pero no logro que el navegador entienda los datod aca dejo el codigo tcp y el http que encontre en internet agradeceria cual quier ayuda
Codigo coneccion tcp
Imports System
Imports System.Net.Sockets
Imports System.Text
Imports System.IO.StreamReader
Imports System.IO
Imports System.Net
Imports System.Globalization

Public Class HttpListenerEjemplo
    Const portNumber As Integer = 8000
    Dim tcpListener As New TcpListener(portNumber)
    Dim tcpClient As TcpClient

   
    Private Sub ipLocal()
        'CLASE PARA MOSTRAR IP
        Dim strHostName As String = System.Net.Dns.GetHostName()
        Dim ipEntry As IPHostEntry = Dns.GetHostEntry(strHostName)
        Label5.Text = "Tu direccion de IP:" & Convert.ToString(ipEntry.AddressList(ipEntry.AddressList.Length - 2))
        Label4.Text = Convert.ToString(ipEntry.HostName)
    End Sub

    Private Sub escucharPuerto()
        'eclase para escuchar puerto
        tcpListener.Start()
        Label3.Text = tcpListener.Pending
        Label1.Text = "Escuchando el puerto 8000"
        If tcpListener.Pending = True Then
            Label1.Text = "Coneccion Pendiente"
            My.Computer.Audio.Play("D:\Documentos\propios visual Estudio\visual estudio2010 Proyectos\app1Prim\app1Prim\notify.wav", AudioPlayMode.WaitToComplete)
        End If
    End Sub
    Private Sub VerificarConecciones()

    End Sub
    Private Sub recivirDatos()
        'CLACE PARA RECIVIR
        ' Get Obtener el flujo de
        Dim networkStream As NetworkStream = tcpClient.GetStream()
        ' Leer la secuencia en una matriz de bytes
        Dim bytes(tcpClient.ReceiveBufferSize) As Byte
        networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
        ' Volver a los datos recibidos desde el cliente a la consola."consola cambiado por label"
        Dim clientdata As String = Encoding.ASCII.GetString(bytes)
        Label2.Text = (("El Cliente envió: " + clientdata))
    End Sub

   


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'BOTON PARA CERRAR
        Me.Close()
        Me.Dispose()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'BOTON PARA ACEPTAR
        escucharPuerto()
    End Sub


  

    Private Sub Button3AceptarConeccion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3AceptarConeccion.Click
        'BOTON PARA ACEPTAR
        Try
            If tcpListener.Pending = True Then
                Label3.Text = tcpListener.Pending
                tcpClient = tcpListener.AcceptTcpClient
                Label1.Text = "Coneccion Aceptada"
                My.Computer.Audio.Play("D:\Documentos\propios visual Estudio\visual estudio2010 Proyectos\app1Prim\app1Prim\notify.wav", AudioPlayMode.WaitToComplete)

            End If
        Catch
            Label1.Text = "Debes poner en Escucha el puerto"
        End Try

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'BOTON PARA RECIVIR
        recivirDatos()
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        'boton para enviar
        Dim responseString As String = "hola"
        Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(responseString)
        Dim networkStream As NetworkStream = tcpClient.GetStream()
        networkStream.Write(sendBytes, 0, sendBytes.Length)
        Label2.Text = (("Enviado Mensaje /> : " + responseString))
    End Sub
    'bloque de prueva con HTTp
   
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        'busqueda continua de conecciones pendientes


        Do While tcpListener.Pending = False
            If tcpListener.Pending = True Then
                Label3.Text = tcpListener.Pending
                tcpClient = tcpListener.AcceptTcpClient
                Label1.Text = "Coneccion Aceptada"
                My.Computer.Audio.Play("D:\Documentos\propios visual Estudio\visual estudio2010 Proyectos\app1Prim\app1Prim\notify.wav", AudioPlayMode.WaitToComplete)
                recivirDatos()
            End If
        Loop
    End Sub
End Class

codigoHttp

Imports System.Net
Imports System.Globalization
Module HttpListener
   Sub Main()
       Dim prefixes(0) As String
       prefixes(0) = "http://*:8080/HttpListener/"
       ProcessRequests(prefixes)
   End Sub
   Private Sub ProcessRequests(ByVal prefixes() As String)
       If Not System.Net.HttpListener.IsSupported Then
           Console.WriteLine("Windows XP SP2, Server 2003, or higher is required to use the HttpListener class.")
           Exit Sub
       End If
       ' URI prefixes are required,
       If prefixes Is Nothing OrElse prefixes.Length = 0 Then
           Throw New ArgumentException("prefixes")
       End If
       ' Create a listener and add the prefixes.

       Dim listener As System.Net.HttpListener = New System.Net.HttpListener()
       For Each s As String In prefixes
           listener.Prefixes.Add(s)
       Next
       Try
           ' Start the listener to begin listening for requests.
           listener.Start()
           Console.WriteLine("Listening...")
           ' Set the number of requests this application will handle.
           Dim numRequestsToBeHandled As Integer = 10
           For i As Integer = 0 To numRequestsToBeHandled
               Dim response As HttpListenerResponse = Nothing
               Try
                   ' Note: GetContext blocks while waiting for a request.
                   Dim context As HttpListenerContext = listener.GetContext()
                   ' Create the response.
                   response = context.Response
 Dim responseString As String = "<HTML><BODY>The time is currently "  responseString += DateTime.Now.ToString(DateTimeFormatInfo.CurrentInfo)  responseString += "</BODY></HTML>"                   Dim buffer() As Byte = System.Text.Encoding.UTF8.GetBytes(responseString)
                   response.ContentLength64 = buffer.Length
                   Dim output As System.IO.Stream = response.OutputStream
                   output.Write(buffer, 0, buffer.Length)
               Catch ex As HttpListenerException
                   Console.WriteLine(ex.Message)
               Finally
                   If response IsNot Nothing Then
                       response.Close()
                   End If
               End Try
           Next
       Catch ex As HttpListenerException
           Console.WriteLine(ex.Message)
       Finally
           ' Stop listening for requests.
           listener.Close()
           Console.WriteLine("Done Listening...")
       End Try
   End Sub

End Module