En Java cuando se usa DatagramPacket
supongamos que tiene un almacenamiento intermedio byte[1024*1024]
. Si acaba de pasar eso para el DatagramPacket al enviar/recibir una llamada de recepción de Java para el bloque de DatagramPacket hasta que haya leído todo el megabyte?Java DatagramPacket (UDP) Tamaño máximo de búfer de envío/recv
Pregunto si Java lo dividirá o simplemente tratará de enviar todo lo que se descarta.
Normalmente el límite de tamaño es de alrededor de 64KB para un paquete UDP, pero me pregunto porque la API de Java permite matrices de bytes si ese es un límite y se corta o se divide y se vuelve a ensamblar para usted.
Si se elimina, ¿qué llamada de API me diría la carga máxima de datos que puedo usar en la llamada Java? He oído que IPv6 también tiene frames jumbo, pero ¿admite DatagramPacket (o DatagramSocket
) dado que UDP define la especificación del encabezado?
En realidad, la MTU mínima garantizada para IPv4 en toda la red es de solo 68 Byte: 576 es el mínimo que los hosts deben manejar. De cualquier manera, una MTU tan pequeña sería realmente inusual. – lxgr
¿Eso significa que si tiene un tamaño de paquete superior a 64 KB, usaría un protocolo diferente? –
@PhaniRahul: Diría que significa "gracias a Dios que el protocolo maneja la segmentación de forma transparente y convierte mis datos en tantos paquetes como sean necesarios". Dudo si algún protocolo práctico en uso le dará tamaños de paquete más grandes. :) –