var bodyBuilder = new List<byte>(4096);
var buffer = new byte[256];
while (socket.Available > 0) {
var responseLength = socket.Receive(buffer, buffer.Length, SocketFlags.None);
for (var i = 0; i < responseLength; i++)
bodyBuilder.Add(buffer[i]);
if (responseLength == 0)
break; // never true btw
}