But, you might not receive the data in one block. You need to do consecutively recv's until you know you received all of the data that has been sent to you.