Определение адреса назначения полученного DatagramPacket - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь определить адрес получателя DatagramPacket, полученного от неподключенного DatagramSocket или MulticastSocket. В частности, я хотел бы знать, был ли принятый пакет одноадресным или многоадресным / широковещательным.

Использование DatagramSocket#getLocalAddress() не является адекватным, поскольку это указывает только на адрес, к которому был привязан сокет (если есть), а не на адрес, к которому был адресован отдельный полученный пакет.

Глядя на методы DatagramPacket, DatagramSocket и MulticastSocket, кажется, нет никакого способа сделать это. Тем не менее, я хотел бы получить какое-то подтверждение, что это действительно так, прежде чем полностью отказаться. Это похоже на серьезный недосмотр API.

Другими словами, есть ли способ реплицировать функциональность механизма IPV6_RECVPKTINFO (обрисовано в RFC3542) в стандартном Java?

Мне также было бы интересно, есть ли какие-либо нестандартные способы сделать это в Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...