Почему моя java-программа отправляет многоадресные пакеты с TTL, равным 1?

У меня есть клиентская программа Java, которая использует mdns с обнаружением службы, чтобы найти связанный с ней сервер. После длительного тестирования в одной сети с Windows, Fedora 10 и Ubuntu 8.10 мы предоставили клиенту тестовую сборку. Они сообщают, что клиент и сервер никогда не соединяются. Они прислали нам захват wireshark, который показывает, что пакеты mdns имеют TTL 1, хотя наш код устанавливает его равным 32. Когда мы тестируем локально, TTL равен 32, как мы его установили. Клиент использует Redhat Enterprise 5.

Я видел, что время жизни многоадресной рассылки Java всегда равно 0, но это оставляет меня любопытным, почему у того, кто задает вопрос, TTL равен 0, а у меня 1.


person Jay R.    schedule 27.01.2009    source источник


Ответы (1)


Вы проверили ответ на Java Multicast Time To Live всегда 0< /а>? Это также может решить вашу проблему. Ответ там ссылается на ответчика. запись.

person Eddie    schedule 28.01.2009
comment
Я видел этот вопрос и ответ. Я думаю, я должен добавить это к вопросу, но почему здесь 1, а 0 для этого парня. - person Jay R.; 29.01.2009
comment
Без понятия. Разные версии ядра? Различные выпуски или исправления стека IP? Другой выпуск или реализация Java? Дайте нам знать, если ответ на этот пост решит вашу проблему. - person Eddie; 29.01.2009
comment
Я все еще хотел бы знать, почему это 1 вместо 0, но ответ на то, как сделать так, чтобы это было не так, тот же. - person Jay R.; 03.03.2009