void GotUdpMessage(IAsyncResult ar) { IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0); EndPoint epSender = (EndPoint)ipeSender; int size = UDPSocket.EndReceiveFrom(ar, ref epSender); string senderAddress = sender.Address.ToString(); int senderPort = sender.Port; // Get the data back byte[] data = new byte[buff.Length]; buff.CopyTo(data, 0); Pipe pipe = new Pipe(); pipe.Write(data, 0, size); filter.ProcessReceivedData(pipe, epSender, size, false); // Start Accepting again UDPSocket.BeginReceiveFrom(buff, 0, buff.Length, SocketFlags.None, ref epSender, GotUdpMessage, epSender); }
void GotUdpMessage(IAsyncResult ar) { IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0); EndPoint epSender = (EndPoint)ipeSender; int size = 0; try { size = UDPSocket.EndReceiveFrom(ar, ref epSender); } catch (Exception ex) { if (running) { throw ex; } return; } string senderAddress = sender.Address.ToString(); int senderPort = sender.Port; // Get the data back /*byte[] data = new byte[buff.Length]; * buff.CopyTo(data, 0);*/ Pipe pipe = new Pipe(); //pipe.Write(data, 0, size); pipe.Write(buff, 0, size); filter.ProcessReceivedData(pipe, epSender, size, false); // Start Accepting again UDPSocket.BeginReceiveFrom(buff, 0, buff.Length, SocketFlags.None, ref epSender, GotUdpMessage, epSender); }