23mis0117 CN 4
23mis0117 CN 4
LAB ASSESSMENT -3
Due Date: 11.03.2025
• NAME : SIVASHREE.PL
• REG NO : 23MIS0117
• SLOT : F2+TF2
SERVER.JAVA
import java.io.*;
import java.net.*;
import java.util.*;
class Server {
private static final int PORT = 9876;
private static final int PACKET_SIZE = 1024;
while (receiving) {
DatagramPacket packet = new DatagramPacket(buffer,
buffer.length);
socket.receive(packet);
int sequenceNumber =
bytesToInt(Arrays.copyOfRange(packet.getData(), 0, 4));
byte[] imageData = Arrays.copyOfRange(packet.getData(), 4,
packet.getLength());
receivedPackets.put(sequenceNumber, imageData);
}
OUTPUT :
CLIENT.JAVA
import java.io.*;
import java.net.*;
System.out.println("Sending image...");
SERVER.JAVA
import java.net.*;
import java.util.HashMap;
public class Server {
// A map to simulate IP to MAC address mapping (ARP table)
private static HashMap<String, String> ipToMac = new HashMap<>();
// A map to simulate MAC to IP address mapping (RARP table)
private static HashMap<String, String> macToIp = new HashMap<>();
try {
DatagramSocket serverSocket = new DatagramSocket(9876); //
Listening on UDP port 9876
System.out.println("Server is running...");
while (true) {
// Receive packet
e.printStackTrace();
}
}
OUTPUT :
CLIENT.JAVA
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
DatagramSocket clientSocket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
int serverPort = 9876; // The server listens on port 9876
clientSocket.send(sendPacket);
// Receive response
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
clientSocket.receive(receivePacket);
System.out.println("Server Response: " + new
String(receivePacket.getData(), 0, receivePacket.getLength()));
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
} }
OUTPUT :
SERVER.JAVA
import java.net.*;
import java.util.HashMap;
public class Server {
// A simple hashmap to simulate a DNS database
private static HashMap<String, String> dnsDatabase = new HashMap<>();
public static void main(String[] args) {
// Populate the DNS database with sample mappings
dnsDatabase.put("www.example.com", "93.184.216.34");
dnsDatabase.put("www.google.com", "142.250.185.78");
dnsDatabase.put("www.facebook.com", "157.240.22.35");
try {
DatagramSocket serverSocket = new DatagramSocket(53); // DNS
operates typically on port 53
System.out.println("DNS Server is running...");
while (true) {
// Receive the request from the client
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
serverSocket.receive(receivePacket);
String clientRequest = new String(receivePacket.getData(), 0,
receivePacket.getLength());
String clientAddress = receivePacket.getAddress().toString();
System.out.println("Received request from client: " +
clientRequest);
serverSocket.send(sendPacket);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
OUTPUT :
CLIENT.JAVA
import java.net.*;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
try {
DatagramSocket clientSocket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
int serverPort = 53; // Standard DNS port
www.example.com): ");
String domainName = scanner.nextLine();
receiveData.length);
clientSocket.receive(receivePacket);
System.out.println("Server Response: " + new
String(receivePacket.getData(), 0, receivePacket.getLength()));
clientSocket.close();
scanner.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
OUTPUT :
4.Write a UDP based server code to get the client's date of birth
and calculate the age as of today. The client must enter the
year, month, and date of birth. Get today's date from the
server.
SERVER.JAVA
import java.net.*;
import java.io.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
while (true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
socket.receive(receivePacket);
String clientMessage = new String(receivePacket.getData(), 0,
receivePacket.getLength());
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate birthDate = LocalDate.parse(clientMessage, formatter);
LocalDate currentDate = LocalDate.now();
Period period = Period.between(birthDate, currentDate);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
}
OUTPUT :
CLIENT.JAVA
import java.net.*;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
DatagramSocket socket = null;
Scanner scanner = new Scanner(System.in);
try {
socket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
}
OUTPUT :