Si hago algo como esto:Unsureness acerca de pasar extremo para Socket.ReceiveFrom()
byte[] buffer = new byte[1024];
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint remote = new IPEndPoint(IPAddress.Parse("12.34.56.78"), 1337);
sock.ReceiveFrom(buffer, ref remote);
¿El método ReceiveFrom única recibir paquetes desde el punto final que se pasa? La documentación de la siguientes:
Con protocolos sin conexión, ReceiveFrom leerán el primer datagrama enqueued recibidos en la memoria intermedia de red local.
¿Eso significa que el EndPoint pasado solo se usa para almacenar el EndPoint del host del que proviene el paquete y no afecta en absoluto el comportamiento del método ReceiveFrom? Si es así, ¿por qué necesita ser pasado como "ref" en lugar de "out"?
Después de hacer varias pruebas me he dado cuenta de que el valor del punto final pasado no importa. Solo se usa para almacenamiento. Pero todavía no sé por qué tiene que pasar como referencia entonces. – haiyyu
¿No es EndPoint una estructura? – Joshua
Sí, tienes razón. Aunque eso no debería hacer una diferencia en mi caso. – haiyyu