예제 #1
0
        /// <summary>
        /// 接收到数据
        /// </summary>
        /// <param name="ar"></param>
        public void ReceiveCallback(IAsyncResult ar)
        {
            LeafUDPClient userver  = (LeafUDPClient)ar.AsyncState;
            string        ConnName = "";

            try
            {
                if (userver.NetWork.Client != null)
                {
                    IPEndPoint fclient = userver.ipLocalEndPoint;
                    Byte[]     recdata = userver.NetWork.EndReceive(ar, ref fclient);
                    ConnName = userver.ipLocalEndPoint.Port + "->" + fclient.ToString();
                    string data = new ASCIIEncoding().GetString(recdata);
                    HttpContext.Current.Session["currentData"] = data;
                }
            }
            catch (ObjectDisposedException ex) { }
            catch (Exception ex)
            {
            }
            finally
            {
                if (userver.NetWork.Client != null)
                {
                    userver.NetWork.BeginReceive(new AsyncCallback(ReceiveCallback), userver);//继续异步接收数据
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 接收到数据
        /// </summary>
        /// <param name="ar"></param>
        public void ReceiveCallback(IAsyncResult ar)
        {
            LeafUDPClient userver  = (LeafUDPClient)ar.AsyncState;
            string        ConnName = "";

            try
            {
                if (userver.NetWork.Client != null)
                {
                    IPEndPoint fclient = userver.ipLocalEndPoint;
                    Byte[]     recdata = userver.NetWork.EndReceive(ar, ref fclient);

                    ConnName = userver.ipLocalEndPoint.Port + "->" + fclient.ToString();
                    string data = new ASCIIEncoding().GetString((recdata));
                    //
                    lock (o)
                    {
                        list.Add("时间:" + DateTime.Now + " 数据:" + data);
                        //queue.Enqueue(data);
                    }
                }
            }
            catch (ObjectDisposedException ex) {
                EventLog.WriteEntry("LastDataHandler.ashx", "port:" + port + " " + ex.ToString());
            }
            catch (Exception ex)
            {
                EventLog.WriteEntry("LastDataHandler.ashx", "port:" + port + " " + ex.ToString());
            }
            finally
            {
                if (userver.NetWork.Client != null)
                {
                    userver.NetWork.BeginReceive(new AsyncCallback(ReceiveCallback), userver);//继续异步接收数据
                }
            }
        }