gpt4 book ai didi

java - 在没有互联网连接的情况下发送 DatagramPacket - Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:53 25 4
gpt4 key购买 nike

我正在使用以下代码将 DatagramPacket 发送到给定地址:

InetAddress address = InetAddress.getByName(anIPAddress);

DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(packetBytes, packetBytes.length,
address, port);

socket.send(packet);
socket.close();

它工作正常,但是为什么这段代码在没有可用的互联网连接时不会抛出任何Exception

我关闭了 Wi-Fi 和移动数据,这段代码仍然可以毫无错误地执行。

有没有办法确保数据包确实被发送?

(我不关心它是否到达目的地,我只是想确保它被发送)

最佳答案

您可以使用 NetworkInterface.getNetworkInterfaces(); 检查可用的接口(interface)。然后你可以用ni.isUp()检查。

Enumeration<NetworkInterface> nets=NetworkInterface.getNetworkInterfaces();
for(int i=0; nets.hasMoreElements(); ++i) {
NetworkInterface ni=nets.nextElement();
if (ni.isUp() && !ni.getName().equals("lo")) {
//ni is not local
break;
}
}

关于java - 在没有互联网连接的情况下发送 DatagramPacket - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39594264/

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