protected virtual void ReceivedProc() { try { while (IsReceiving) { if (protocol != null) { byte[] data = protocol.ReadData(); if (data != null) { OnReceivedData(data); } else { Thread.Sleep(1000); } } } } catch (Exception e) { } finally { IsReceiving = false; if (stopWait != null) { stopWait.Set(); } } }