import java.io.
*;
import java.net.*;
class ServerRARP {
public static void main(String args[]) {
try {
DatagramSocket server = new DatagramSocket(1309);
while (true) {
byte[] sendByte = new byte[1024];
byte[] receiveByte = new byte[1024];
DatagramPacket receiver = new DatagramPacket(receiveByte,
receiveByte.length);
server.receive(receiver);
String str = new String(receiver.getData(), 0,
receiver.getLength());
String macAddress = str.trim();
InetAddress addr = receiver.getAddress();
int port = receiver.getPort();
// Mapping MAC addresses to IP addresses
String[] ip = {"165.165.80.80", "165.165.79.1"};
String[] mac = {"6A:08:AA:C2", "8A:BC:E3:FA"};
// Check if MAC address matches and send corresponding IP address
for (int i = 0; i < ip.length; i++) {
if (macAddress.equals(mac[i])) {
sendByte = ip[i].getBytes();
DatagramPacket sender = new DatagramPacket(sendByte,
sendByte.length, addr, port);
server.send(sender);
break;
}
}
break; // Exit the loop after handling one request
}
server.close();
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}