/// <summary>
        /// 异步回调一次完成通知
        /// </summary>
        /// <param name="ar"></param>
        private void ReceiveTakesCompletedOnce(IAsyncResult ar)
        {
            if (ar == null)
            {
                throw new ArgumentNullException("ar");
            }

            ReceiveTakesAWhileDelegate d1 = ar.AsyncState as ReceiveTakesAWhileDelegate;

            if (m_IsOpen)
            {
                Trace.Assert(d1 != null, "Invalid object type");
                d1.BeginInvoke(ReceiveTakesCompletedOnce, d1); //再次回调
            }
            else
            {
                d1.EndInvoke(ar);
            }
        }
        private void InitCallback()
        {
            ReceiveTakesAWhileDelegate receiveAsyncTask = ReceiveCanDatas;

            receiveAsyncTask.BeginInvoke(ReceiveTakesCompletedOnce, receiveAsyncTask);
        }