Nous avons le code en utilisant UDP socket pour la communication. Dans ce code, l'application envoie un paquet à un serveur donné (identifié par un nom d'hôte et un port donnés). Ce code est extrait à partir d'une base de code importante.IOException réseau est inaccessible
class Test {
private static int UDP_PORT_NUMBER=15000;
public static void main(String args[]) {
String host = “192.168.2.10”;
byte[] bytes = {(byte)0xd1, 0x35, (byte)0x39, (byte)0xea, (byte)0xa2, (byte)0xd8};
DatagramSocket datagramSocket = new DatagramSocket();
final InetAddress inetAddress = InetAddress.getByName(host);
final DatagramPacket sendPacket = new DatagramPacket(bytes, bytes.length,
inetAddress, UDP_PORT_NUMBER);
datagramSocket.send(sendPacket);
}
}
Cependant, je reçois exception suivante dans notre cas tout en appelant envoyer sur le socket Datagram:
java.io.IOException: Network is unreachable
at java.net.PlainDatagramSocketImpl.send(Native Method) ~[?:1.8.0_91]
at java.net.DatagramSocket.send(DatagramSocket.java:693) ~[?:1.8.0_91]
Quelle est la signification du réseau injoignable dans UDP et comment est-elle détecté pour UDP qui est sans connexion? Quels sont les cas où je peux obtenir réseau IOException inaccessible dans le socket UDP?
Imo _network unreachable_ n'a rien à voir avec UDP ou TCP, comme c'est le cas sur la couche 3 du modèle OSI. Il n'y a tout simplement pas de route vers l'adresse IP demandée. – Matt
Il serait utile de savoir quelles sont les adresses IP de la machine où vous exécutez ce sont. – RealSkeptic
1ère étape - Pouvez-vous pinguer l'adresse? –