Zdravim,
mam jednoduchy program v Jave, ktery ma vypsat sitova rozhrani v systemu. Pokud jsou v systemu "obycejne" sitovky, tak vse funguje ok. Pokud je k PC pripojen mobilni telefon pres USB, ktery vytvori v systemu virtualni sitovku, tak enumerace trva i 2 minuty. C# aplikace funguje ok. Zkouseno na vice PC s ruznymi verzemi win, JDK 1.8.
K zaseknuti dojde primo na NetworkInterface.getNetworkInterfaces()
import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;
public class TestNetwork {
public static void main(String[] args) throws SocketException {
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets))
displayInterfaceInformation(netint);
}
static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
out.printf("Display name: %s\n", netint.getDisplayName());
out.printf("Name: %s\n", netint.getName());
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
out.printf("InetAddress: %s\n", inetAddress);
}
out.printf("Up? %s\n", netint.isUp());
out.printf("Loopback? %s\n", netint.isLoopback());
out.printf("PointToPoint? %s\n", netint.isPointToPoint());
out.printf("Supports multicast? %s\n", netint.supportsMulticast());
out.printf("Virtual? %s\n", netint.isVirtual());
out.printf("Hardware address: %s\n",
Arrays.toString(netint.getHardwareAddress()));
out.printf("MTU: %s\n", netint.getMTU());
out.printf("\n");
}
}
Nenapada vas prosim kde muze byt problem?