/// <summary>
 /// ���յ������ݵĴ���
 /// </summary>
 private void DealData()
 {
     // if (buf.Length > 0) //��������Ҫ����
     {
         CommHead chio = new CommHead(buf, (int) buf.Position);
         if (chio.IsValid())
         {
             LastReceivedTime = DateTime.Now;
             if (chio.DataLen > 0) //������
             {
                 adm.AddData(this, chio.GetData(), chio.DataLen); //�ɴ�������
             }
             else //���ڲ���Ϣ
             {
                 switch ((JhCommMessages) chio.WParam)
                 {
                     case JhCommMessages.Disconnected: //�Է���Ҫ�Ͽ�������Ϣ
                         Close();
                         break;
                     case JhCommMessages.ConnectCheck:
                         if (CheckTimeout.Ticks != chio.DWParam)
                         {
                             CheckTimeout = new TimeSpan(chio.DWParam);
                         }
                         ConnectCheck = true;
                         break;
                     case JhCommMessages.StopCheck:
                         ConnectCheck = false;
                         break;
                     case JhCommMessages.ConnectSignal:
                         if (CheckTimeout.Ticks != chio.DWParam)
                         {
                             CheckTimeout = new TimeSpan(chio.DWParam);
                         }
                         break;
                     default:
                         break;
                 }
             }
             buf.Position = 0;
             chio.GetLeftData(ref buf); //ʣ��δ����������
         }
     }
 }