Я знаю, что уже слишком поздно отвечать на это сообщение ... но чтобы поделиться своим опытом, я публикую свой ответ. (Я тоже столкнулся с той же проблемой)
Я использовал апплет и развернул егона компьютере клиента.
import java.applet.Applet;
import java.applet.Applet;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
public class app extends Applet{
public String macAddr="";
public void init()
{
try
{
System.out.println("Start");
InetAddress ip = InetAddress.getLocalHost();
System.out.println((new StringBuilder("Current IP address:"+ip.toString())));
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte mac[] = network.getHardwareAddress();
System.out.println("mac : "+mac.toString());
System.out.print("Current MAC address : ");
StringBuilder sb = new StringBuilder();
for(int i = 0; i < mac.length; i++)
sb.append(String.format("%02X%s", new Object[] {
Byte.valueOf(mac[i]), i >= mac.length - 1 ? "" : "-"
}));
System.out.println(sb.toString());
macAddr=String.valueOf(sb);
System.out.println("okay good");
}
catch(SocketException e)
{
macAddr=e.toString();
e.printStackTrace();
System.out.println("not good");
}
catch (Exception e) {
macAddr=e.toString();
e.printStackTrace();
System.out.println("bad good");
}
}
}
Проблема, с которой я столкнулся после создания этого апплета, состоит в том [что он работал нормально, когда я запускаю его на компьютере локально (запустить приложение)], но это не работаетРАБОТА НА СЕРВЕРЕ `` для этого вам нужно подписать свой jar
Keytool -genkey -alias signFiles -keystore compstore -keypass KEYPASS -dname "cn = XYZ" -storepass KEY-validity 125000 jarsigner -keystore compstore -storepass PASS -keypass KEYPASS appletname.jar signFiles
После этого это работало, но не гладко ... каждый раз, когда я его запускаю. Браузер запрашивает разрешение.что не хорошо.Я надеюсь, что мой опыт помогает