/// <summary>
        /// 接收回调函数
        /// </summary>
        /// <param name="i_IAsyncResult"></param>
        private void m_ReceiveCallback(IAsyncResult i_IAsyncResult)
        {
            //转换
            Class_UdpState n_UdpState_Receive = i_IAsyncResult.AsyncState as Class_UdpState;
            //定义IPEndPoint变量
            IPEndPoint n_IPEndPoint = m_IPEndPoint_Local;

            //如果完成
            if (i_IAsyncResult.IsCompleted)
            {
                byte[] n_btReceive = n_UdpState_Receive.p_UdpClient_Receive.EndReceive(i_IAsyncResult, ref n_IPEndPoint); //m_UdpState_Receive.p_IPEndPoint
                ////
                //Thread.Sleep(5000);
                n_UdpState_Receive.p_IPEndPoint_Local = n_IPEndPoint;
                string n_sReceive = string.Empty;// Encoding.Default.GetString(n_btReceive);
                for (int i = 0; i < n_btReceive.Length; i++)
                {
                    n_sReceive = n_sReceive + n_btReceive[i].ToString("X2");
                }
                Console.WriteLine("Received: {0}", n_sReceive);
                //事件状态终止
                m_ManualResetEvent_ReceiveDone.Set();
                //执行发送
                m_SendMessage(n_UdpState_Receive.p_IPEndPoint_Local);
            }
        }
        /// <summary>
        /// 发送回调函数
        /// </summary>
        /// <param name="i_IAsyncResult"></param>
        private void m_SendCallback(IAsyncResult i_IAsyncResult)
        {
            Class_UdpState m_UdpState_Send = i_IAsyncResult.AsyncState as Class_UdpState;

            Console.WriteLine("第{0}个请求处理完毕!", m_UdpState_Send.p_iCounter);
            Console.WriteLine("number of bytes sent: {0}", m_UdpState_Send.p_UdpClient_Receive.EndSend(i_IAsyncResult));
            Console.WriteLine("执行效率: " + ((m_UdpState_Send.p_iCounter) / (m_Stopwatch.ElapsedMilliseconds / 1000.0f)).ToString("F2") + "个/秒"); //(单位:秒)
            m_ManualResetEvent_SendDone.Set();
        }
        /// <summary>
        /// 主调用函数
        /// </summary>
        public void p_ReceiveMessage()
        {
Start:
            //实例化udpSendState
            m_UdpState_Receive = new Class_UdpState();
            //
            m_UdpState_Receive.p_UdpClient_Receive = m_UdpClient_Receive;
            ////
            //m_UdpState_Receive.p_UdpClient_Receive.Ttl = 100;
            //
            m_UdpState_Receive.p_IPEndPoint_Local = m_IPEndPoint_Local;
            //
            Console.WriteLine("listening for messages");
            //进入循环
            while (true)
            {
                lock (this)
                {
                    try
                    {
                        ////时钟停止计时
                        //m_Stopwatch.Stop();
                        //日志加载
                        //Console.WriteLine("总执行时间为: " + (m_Stopwatch.ElapsedMilliseconds / 1000.0f).ToString("F3") + "秒"); //(单位:秒)
                        //定义ManualResetEvent 类的实例 必须有该代码 否则循环会无限制执行 造成CPU占用率过高
                        m_ManualResetEvent_ReceiveDone = new ManualResetEvent(false);
                        //调用接收回调函数
                        IAsyncResult n_IAsyncResult = m_UdpClient_Receive.BeginReceive(new AsyncCallback(m_ReceiveCallback), m_UdpState_Receive);
                        //阻止
                        bool n_bFlag = m_ManualResetEvent_ReceiveDone.WaitOne();
                        //延时
                        Thread.Sleep(1);
                        //回收
                        GC.Collect();
                    }
                    catch
                    {
                        goto Start;
                    }
                }
            }
        }
 /// <summary>
 /// 构造函数
 /// </summary>
 public Class_AsyncUdpSever()
 {
     // 本机节点
     m_IPEndPoint_Local = new IPEndPoint(IPAddress.Any, m_iPort_Listen);
     // 远程节点
     m_IPEndPoint_Remote = new IPEndPoint(IPAddress.Parse("192.168.1.221"), m_iPort_Remote);//Dns.GetHostAddresses(Dns.GetHostName())[0]
     // 实例化
     m_UdpClient_Receive = new UdpClient(m_IPEndPoint_Local);
     m_UdpClient_Send    = new UdpClient();
     //实例化udpSendState
     m_UdpState_Receive = new Class_UdpState();
     m_UdpState_Receive.p_UdpClient_Receive = m_UdpClient_Receive;
     m_UdpState_Receive.p_IPEndPoint_Local  = m_IPEndPoint_Local;
     //实例化udpReceiveState
     m_UdpState_Send = new Class_UdpState();
     m_UdpState_Send.p_UdpClient_Receive = m_UdpClient_Send;
     m_UdpState_Send.p_IPEndPoint_Local  = m_IPEndPoint_Remote;
     //时钟计时开始
     m_Stopwatch.Start();
 }