如何在Java中获取UDP数据包的TTL?

mre*_*elt 5 java android udp ttl

我正在使用Java应用程序将UDP数据包发送到Android设备.我有另一个Java应用程序接收这些UDP数据包并显示其数据 - 非常简单.

现在我正在研究一些路由算法 - 因此,知道UDP数据包自发送以来的跳数有多好.我的想法是只读出数据包的TTL(生存时间)值并显示它.你知道纯Java是否可行吗?该课程DatagramPacket根本没有给出任何提示.

我想这是不可能的,因为这些信息可能已经在较低层删除了,但我只想确定.:-)

unw*_*ind 3

如您所知, TTL 字段是底层 IP 协议(​​使用时)的一项功能,而不是 UDP 的一项功能。因此,它在 DatagramPacket API 中不可见是有道理的。不过,我认为你是对的;通常不可能通过数据报级 API 访问 IP 数据包。您可能需要研究数据包捕获。