I went searching for this and found at least one person who asked but got no answer. I think there is a need to start a send and receive segment (part of a larger process on same socket connection) and expect that there is nothing already in the receive buffer.
I saw no answer but did think of this kludge before I myself realized another way around it that seemed cleaner (read to "ends with" on the next segment). Simply set the RecieveTimeout to 1 or, if you think the sender is still in the process of sending, some slightly larger value. Then just call Receive with socketflags = 0 and discard the results.
Does anyone have a better way?