gpt4 book ai didi

java - 迁移到Ipv6,如何强制使用特定范围?

转载 作者:可可西里 更新时间:2023-11-01 02:50:08 27 4
gpt4 key购买 nike

我正在将我的应用程序从 Ipv4 (TCP) 迁移到 Ipv6 (TCP)。

要联系服务器,客户端发送消息给

fe80::cc3a:61ff:fe5d:bed5

代替

192.168.0.16

其余代码保持不变。

奇怪的是,它有时有效,有时无效。经过几个小时的搜索,我发现在 Ipv6 地址的末尾添加了一个“作用域”(fe80::d6ae:5ff:fe43:c6e9%wlan0)。

我注意到它可以是%p2p0%eth0%wlan0。知道要通过 Wi-Fi 工作,范围必须是 %wlan0,我如何强制使用特定范围?

我看了所有Inet6Address没有找到任何方法。

最佳答案

MulticastSocket.setNetworkInterface() 是解决方案。

MulticastSocket multicastSocket = new MulticastSocket("5678");
NetworkInterface wifiInterface = null;
for (NetworkInterface networkInterface : Collections.list(NetworkInterface.getNetworkInterfaces()))
if (networkInterface.getName().equalsIgnoreCase("wlan0")) {
wifiInterface = networkInterface;
break;
}

multicastSocket.setNetworkInterface(wifiInterface);

关于java - 迁移到Ipv6,如何强制使用特定范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53501745/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com