Receive messages continuously using udpClient

Saanch picture Saanch · Sep 1, 2011 · Viewed 79.8k times · Source

I was looking for the best solution to receive and process messages via UdpClient class in C#. Does anyone have any solutions for this?

Answer

Hossein Mobasher picture Hossein Mobasher · Sep 15, 2011

Try this code :

//Client uses as receive udp client
UdpClient Client = new UdpClient(Port);

try
{
     Client.BeginReceive(new AsyncCallback(recv), null);
}
catch(Exception e)
{
     MessageBox.Show(e.ToString());
}

//CallBack
private void recv(IAsyncResult res)
{
    IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 8000);
    byte[] received = Client.EndReceive(res, ref RemoteIpEndPoint);

    //Process codes

    MessageBox.Show(Encoding.UTF8.GetString(received));
    Client.BeginReceive(new AsyncCallback(recv), null);
}