首页 > 编程知识 正文

ip地址和默认网关,已知ip地址怎么算默认网关

时间:2023-05-05 12:11:54 阅读:113577 作者:2401

在Java中,希望找到与正在使用的接口对应的Java.net.network接口到达默认网关。 接口的名称等并不是事先已知的。

也就是说,如果以下是我的路由表,则希望接口与“bond0”对应。

$netstat -r

kernel IP路由表

目标网关掩码smsswindowirttiface

10.10.10.0 * 255.255.255.0 u 00 bond 0

10.10.11.0 * 255.255.255.0 u 00 eth 2

10.10.11.0 * 255.255.255.0 u 00 eth 3

10.10.12.0 * 255.255.255.0 u 00 eth 4

10.10.13.0 * 255.255.255.0 u 00 eth 5

efaultmygateway0.0.0.0ug00 bond 0

做了几个谷歌搜索后,我还没找到任何答案。

编辑:

运行Java时,必须“知道”如何获取此信息。 并不是说它是公开的。 使用join(inetaddressgrpaddr )调用)将java.net.MulticastSocket连接到多播组时,明显的行为看起来像参与了“默认”接口:

结构IP _ mreqn组;

group.imr_multiaddr=.

group.IMR _ address=* * addressoftheinterface! **

setsockopty(SD,IPPROTO_IP,IP_ADD_MEMBERSHIP,group,sizeof ) group );

重要信息:通过提供加入不需要intf的多播组的方法,java平台需要知道如何在每个平台上确定合适的intf。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。