Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: 70N1 en 2 Febrero 2008, 10:06 am



Título: AYUDA CON ESTE CODIGO
Publicado por: 70N1 en 2 Febrero 2008, 10:06 am
El fallo esta a la punta de abajo.
Código:
         Imports System
Imports System.Text
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports Microsoft.VisualBasic

Public Class GetSocket

    Private Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket
        Dim s As Socket = Nothing
        Dim hostEntry As IPHostEntry = Nothing

        ' Get host related information.
        hostEntry = Dns.GetHostEntry("libres.irc - hispano.org")

        ' Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
        ' an exception that occurs when the host host IP Address is not compatible with the address family
        ' (typical in the IPv6 case).
        Dim address As IPAddress

        For Each address In hostEntry.AddressList
            Dim endPoint As New IPEndPoint(address, port)
            Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

            tempSocket.Connect(endPoint)

            If tempSocket.Connected Then
                s = tempSocket
                Exit For
            End If

        Next address

        Return s
    End Function


    ' This method requests the home page content for the specified server.

    Private Shared Function SocketSendReceive(ByVal server As String, ByVal port As Integer) As String
        'Set up variables and String to write to the server.
        Dim ascii As Encoding = Encoding.ASCII
        Dim request As String = "GET / HTTP/1.1" + ControlChars.Cr + ControlChars.Lf + "Host: " + server + ControlChars.Cr + ControlChars.Lf + "Connection: Close" + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf
        Dim bytesSent As [Byte]() = ascii.GetBytes(request)
        Dim bytesReceived(255) As [Byte]

        ' Create a socket connection with the specified server and port.
        Dim s As Socket = ConnectSocket(server, port)

        If s Is Nothing Then
            Return "Connection failed"
        End If
        ' Send request to the server.
        s.Send(bytesSent, bytesSent.Length, 0)

        ' Receive the server  home page content.
        Dim bytes As Int32

        ' Read the first 256 bytes.
        Dim page As [String] = "Default HTML page on " + server + ":" + ControlChars.Cr + ControlChars.Lf

        ' The following will block until the page is transmitted.
        Do
            bytes = s.Receive(bytesReceived, bytesReceived.Length, 0)
            page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes)
        Loop While bytes > 0

        Return page
    End Function

    'Entry point which delegates to C-style main Private Function
    Public Overloads Shared Sub Main()
        Main(System.Environment.GetCommandLineArgs())
    End Sub


    Private Overloads Shared Sub Main(ByVal args() As String)
        Dim host As String
        Dim port As Integer = 80

        If args.Length = 1 Then
            ' If no server name is passed as argument to this program,
            ' use the current host name as default.
            host = Dns.GetHostName()
        Else
            host = args(1)
        End If

        Dim result As String = SocketSendReceive(host, port)


      'CAMBIE CONSOLE POR TEXTBOX1 Y ME DA UN ERROR.
        TextBox1 = result
    End Sub 'Main
End Class