Я новичок и завязываю руки на некоторых сетевых программах. Я читаю данные через многоадресную рассылку (см. Код ниже) и хочу найти блок максимальной передачи (MTU) или блок передачи, который я могу прочитать. Может ли кто-нибудь направить меня к источнику или способу сделать это. Спасибо.Как измерять пакеты Максимальный блок передачи (MTU), полученный от сервера при чтении многоадресной рассылки
try {
InetAddress add = InetAddress.getByName("127.0.0.1");
MulticastSocket socket = new MulticastSocket(1234);
socket.joinGroup(add);
byte[] bb = new byte[2500];
while (true) {
DatagramPacket data = new DatagramPacket(bb, bb.length);
datagramSocket.receive(data);
processDataReceived(bb);
}
datagramSocket.leaveGroup(socket);
}
catch (IOException e) {
e.printStackTrace();
}
MTU of mutlicast будет 64 килобайта в идеальной системе, так как он использует службу UDP для отправки сообщений. Однако реальный MTU будет определяться физическим оборудованием в сети. IIRC, когда пакет слишком велик для самого маленького MTU, тогда пакет будет разделен, отправлен и обновлен (прозрачно) базовым сервисом (при условии, что он все еще находится под 64 КБ). Поэтому я не думаю, что вы можете найти его, используя объекты Java 'DatagramPacket'. – flakes