public void FlushReceiveData() { lock (handler) { while (dataReceivedQueue.Count > 0) { DataReceived dataReceived = dataReceivedQueue.Dequeue(); if (receiver != null) { receiver.OnReceiveData(dataReceived.data, dataReceived.ipEndPoint); } } } }