Hola, estoy intentando hacer un servidor mediante socket udp y tengo una duda en el siguiente código en las lineas que marco en rojo:
namespace UdpServ
{
class Program
{
static void Main(string[] args)
{
int recv;
byte[] data = new byte[1024];
IPEndPoint ipEnd = new IPEndPoint(IPAddress.Any, 8899); Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sock.Bind(ipEnd);
Console.Write("waiting for a client");
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint remote = (EndPoint)(sender); recv = sock.ReceiveFrom(data, ref remote);
Console.WriteLine("Message receive from {0}:", remote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
string welcome = "welcome to my server";
data = Encoding.ASCII.GetBytes(welcome);
sock.SendTo(data, data.Length, SocketFlags.None, remote);
while (true)
{
data = new byte[1024];
recv = sock.ReceiveFrom(data, ref remote);
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
sock.SendTo(data, recv, SocketFlags.None, remote);
}
}
}
}
Mi duda es que no se porque se hacen 2 IPEndPoint.
Si alguien me pudiera ayudar lo agradeceria.
Gracias.