Używam następujący kod do wysyłania DatagramPacket
na dany adres:Wysyłanie DatagramPacket bez połączenia internetowego - Android
InetAddress address = InetAddress.getByName(anIPAddress);
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(packetBytes, packetBytes.length,
address, port);
socket.send(packet);
socket.close();
To działa dobrze, ale dlaczego ten kod nie rzucać żadnych Exception
gdy nie ma dostępne połączenie internetowe?
Wyłączyłem zarówno dane Wi-Fi, jak i komórkowe, a ten kod nadal jest wykonywany bez żadnych błędów.
Czy istnieje sposób, aby upewnić się, że pakiet jest rzeczywiście wysyłany?
(i nie obchodzi mnie, czy to dotarły do miejsca przeznaczenia, czy nie, chciałbym tylko się upewnić, że jest wysyłany)
Pakiety datagramów mogą być wysyłane przez localhost. Dlatego połączenie internetowe nie jest konieczne do wysyłania pakietów Datagram. – Sedrick
Sprawdź to. http://www.java2s.com/Code/Java/Network-Protocol/UseDatagramSockettosendreiveiveDatagramPacket.htm – Sedrick
utworzyć dwa programy java. Jeden chatclient i jeden charserver i zobacz, jak się komunikują. – Sedrick