/// <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);//继续异步接收数据 } } }
/// <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);//继续异步接收数据 } } }