You program it wrong, you'll have to do it like this as example:
Const cnstHostThingSpeak As String = "thingspeak.com"
Dim IPEndPoint As New IPEndPoint(Dns.GetHostEntry(cnstHostThingSpeak).AddressList(0), 80)
Dim Host As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Host.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, True)
sending.......
Host.SendTo( Encoding.UTF8.GetBytes("blabla"), IPEndPoint)
reading:......................
Host.Poll(500000, SelectMode.SelectRead)
Dim bBytes As Byte() = New Byte(Host.Available - 1) {}
If Host.Receive(bBytes) > 0 Then
Debug.Print(New String(Encoding.UTF8.GetChars(bBytes)))
End If
If you have a lot to read, you'll have to loop like this:
Dim strRequest as string = ""
Do While Host.Poll(50000, SelectMode.SelectRead)
Dim bBytes As Byte() = New Byte(Host.Available - 1) {}
If Host.Receive(bBytes) > 0 Then
strRequest &= New String(Encoding.UTF8.GetChars(bBytes))
Else
Exit Do
End If
Thread.Sleep(200)
Loop
Debug.Print(strRequest)