Example #1
0
 protected void CallDelegateReceived(Msg.MessageObject_Child messageObject)
 {
     try
     {
         if (this.dMsgReceived != null)
         {
             this.dMsgReceived(messageObject);
         }
     }
     catch { }
 }
Example #2
0
 protected void ReceivedDataSplit(object state)
 {
     while (this.isConnected)
     {
         byte[] receivedBytes = null;
         lock (SyncObject)
         {
             try
             {
                 if (receivedRingBuffer.DataCount < 6)
                 {
                     Monitor.Wait(SyncObject);
                     continue;
                 }
                 if (receivedRingBuffer[0] != 170)
                 {
                     receivedRingBuffer.Clear(1);
                     continue;
                 }
                 int len = receivedRingBuffer[2] + 5;
                 if (receivedRingBuffer.DataCount < len)
                 {
                     Monitor.Wait(SyncObject);
                     continue;
                 }
                 if (receivedRingBuffer[len - 1] != 187)
                 {
                     receivedRingBuffer.Clear(1);
                     continue;
                 }
                 receivedBytes = new byte[len];
                 receivedRingBuffer.ReadFromRingBuffer(receivedBytes, 0, len);
                 receivedRingBuffer.Clear(len);
                 Monitor.Pulse(SyncObject);
             }
             catch { }
         }
         if (receivedBytes != null)
         {
             Msg.MessageObject_Child msg = new Msg.MessageObject_Child(receivedBytes);
             if (msg.Check())
             {
                 CallDelegateReceived(msg);
             }
         }
     }
 }