Другими словами, что происходит с новыми пакетами, полученными между началом выполнения делегата:
public static void Read_Callback(IAsyncResult ar){
StateObject so = (StateObject) ar.AsyncState;
Socket s = so.workSocket;
int read = s.EndReceive(ar);
if (read > 0) {
so.sb.Append(Encoding.ASCII.GetString(so.buffer, 0, read));
и следующий следующий вызов beginReceive для этого сокета?
s.BeginReceive(so.buffer, 0, StateObject.BUFFER_SIZE, 0,
new AsyncCallback(Async_Send_Receive.Read_Callback), so);
}
Параллельно выполняется второй onDataReceived или очередь данных помещается в буфер, а следующий метод beginReceive запускает делегат сразу после вызова?