public void CreateReceivingSocket(IPAddress a, int puerto) { if (_e == null || (_e.Address != a && _e.Port != puerto)) { _e = new IPEndPoint(a, puerto); _u = new UdpClient(puerto); _s = new UdpState { E = _e, U = _u }; } }
public void GetMessage() { IPEndPoint e = new IPEndPoint(IPAddress.Any, 8101); UdpClient u = new UdpClient(e); UdpState s = new UdpState(); s.e = e; s.u = u; Console.WriteLine("listening for messages"); u.BeginReceive(new AsyncCallback(ReceiveCallback), s); }
public void ReceiveCallback(IAsyncResult ar) { UdpClient u = (UdpClient)((UdpState)(ar.AsyncState)).u; IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).e; Byte[] receiveBytes = u.EndReceive(ar, ref e); string receiveString = Encoding.ASCII.GetString(receiveBytes); UdpState s = new UdpState(); s.e = e; s.u = u; u.BeginReceive(new AsyncCallback(ReceiveCallback), s); OnMsgChanged(new MsgChangedEventArgs(receiveString)); }