return null;
}
/**
* Calculate address from packet and @MAC Address.
*
*
* Also checks if this client is accepted (Vendor, User...)
*
* @param request
* @return address for client, or null if ignore
*/
private InetAddress calcAddrFromMac(DHCPPacket request) {
// check @MAC address format
if ((request.getHtype() != HTYPE_ETHER) && (request.getHlen() != 6)) {
return null;
}
// look for map
InetAddress clientIp = this.macIpMap.get(request.getChaddrAsHex()
.toLowerCase());
if (clientIp == null) {
return null; // not found
return clientIp;
}
/**
* Server launcher.
*
* @param args
* command line arguments - ignored
*/
public static void main(String[] args) {
try {
DHCPCoreServer server = DHCPCoreServer.initServer(
new DHCPStaticServlet(), null);
logger.setLevel(Level.ALL);
new Thread(server).start();
} catch (DHCPServerInitException e) {
logger.log(Level.SEVERE, "Server init", e);
}
}
}
作者“Embedded Java & C”