public void RecieveFirst() { byte[] buffer = new byte[1024 * 1024 * 3]; IAsyncResult receiveResult = connection.BeginReceive(buffer, 0, 4, null, null); IAsyncResult sendResult = connection.BeginSend(requests.Encode(), 0, requests.ByteLength, null, null); amountSent = requests.ByteLength; CompleteSendOrReceiveFirst(buffer, receiveResult, sendResult); }