VB NET Socket Recive in Byte Array

haydenw

Newcomer
Joined
Dec 18, 2011
Hello all,
I am new to xtremedotnettalk and this is my first thread.

I am trying to create a function in vb.net that sends a website header through a socket to the server and returns the response. This is my code.

Code:
    Public Function GetSiteResponse(ByVal IPEndpoint As IPEndPoint, ByVal client As Socket, ByVal header As String) As Byte()
        client.Connect(IPEndpoint)
        If client.Connected Then
            Dim sendbuffer As Byte() = Text.Encoding.ASCII.GetBytes(header)
            client.Send(sendbuffer, sendbuffer.Length, SocketFlags.None)

            Dim recievebytes As Byte() = New Byte() {}
            Do
                Dim recievebuffer(350) As Byte
                Dim bytesrecieved As Integer = client.Receive(recievebuffer, recievebuffer.Length, SocketFlags.None)
                Array.Resize(recievebytes, recievebytes.Length + bytesrecieved)
                Array.Copy(recievebuffer, 0, recievebytes, recievebytes.Length - bytesrecieved, bytesrecieved)
                If bytesrecieved < recievebuffer.Length Then Exit Do
            Loop
            Return recievebytes
        Else
            Return Nothing
        End If
    End Function

The code doesnt recieve the entire server response. What am i doing wrong?
Thanks in advance.
 
Top Bottom