【发布时间】:2014-08-07 07:14:06
【问题描述】:
这是我的简单mac地址生成器:
private String randomMACAddress(){
Random rand = new Random();
byte[] macAddr = new byte[6];
rand.nextBytes(macAddr);
StringBuilder sb = new StringBuilder(18);
for(byte b : macAddr){
if(sb.length() > 0){
sb.append(":");
}else{ //first byte, we need to set some options
b = (byte)(b | (byte)(0x01 << 6)); //locally adminstrated
b = (byte)(b | (byte)(0x00 << 7)); //unicast
}
sb.append(String.format("%02x", b));
}
return sb.toString();
}
请注意我如何设置和取消设置位,以便生成单播 mac。 但是它不起作用,我接受 mac 地址的自动化程序返回一个错误,因为“这个 mac 地址是多播的”。
我做错了什么?
【问题讨论】:
标签: java networking mac-address