CN Codes
CN Codes
java)
import java.util.Scanner;
if (ack == -1) {
System.out.println("No ack received. Resending window from frame: " +
cF);
} else {
System.out.println("Acknowledgment received for frame: " + ack);
cF = ack + 1;
}
}
graph.bellmanFord(src);
scanner.close();
}
}
Prog4(FileServer.java)
import java.io.*;
import java.net.*;
public class FileServer {
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket socket = null;
try {
serverSocket = new ServerSocket(5050);
System.out.println("Server is running and waiting for connections...");
socket = serverSocket.accept();
System.out.println("Client connected!");
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String fileName = in.readLine();
System.out.println("Requested file: " + fileName);
File file = new File(fileName);
if (file.exists() && !file.isDirectory()) {
BufferedReader fileReader = new BufferedReader(new FileReader(file));
String line;
while ((line = fileReader.readLine()) != null) {
out.println(line);
}
fileReader.close();
} else {
out.println("File not found!");
}
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Prog4(FileClient.java)
import java.io.*;
import java.net.*;
public class FileClient {
public static void main(String[] args) {
Socket socket = null;
try {
socket = new Socket("localhost", 5050);
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader userInput = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Enter the file name to request from the server: ");
String fileName = userInput.readLine();
out.println(fileName);
String response;
System.out.println("File contents:");
while ((response = in.readLine()) != null) {
System.out.println(response);
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Prog5(DatagramServer.java)
import java.net.*;
import java.util.Scanner;
public class DatagramServer {
public static void main(String[] args) {
DatagramSocket socket = null;
Scanner scanner = new Scanner(System.in);
try {
socket = new DatagramSocket(9876);
System.out.println("Server is running...");
while (true) {
System.out.print("Enter message to send: ");
String message = scanner.nextLine();
byte[] buffer = message.getBytes();
InetAddress clientAddress = InetAddress.getByName("localhost");
int clientPort = 9877;
DatagramPacket packet = new DatagramPacket(buffer, buffer.length,
clientAddress, clientPort);
socket.send(packet);
System.out.println("Message sent to client.");
if (message.equalsIgnoreCase("exit")) {
System.out.println("Server shutting down.");
break;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
scanner.close();
}
}
}
Prog5(DatagramClient.java)
import java.net.*;
public class DatagramClient {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
socket = new DatagramSocket(9877);
System.out.println("Client is ready to receive messages...");
while (true) {
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String message = new String(packet.getData(), 0, packet.getLength());
System.out.println("Received from server: " + message);
if (message.equalsIgnoreCase("exit")) {
System.out.println("Client shutting down.");
break;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
}
import java.math.BigInteger;
import java.security.SecureRandom;
Prog6.java import java.util.Scanner;
public class RSA{
private BigInteger n, d, e;
private int bitlen = 1024;
public RSA() {
SecureRandom r = new SecureRandom();
BigInteger p = new BigInteger(bitlen/2, 100, r);
BigInteger q = new BigInteger(bitlen/2, 100, r);
n=p.multiply(q);
BigInteger phi =
(p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));
e=new BigInteger("65537");
d = e.modInverse(phi);
}
public byte[] encrypt(byte[] message) {
return (new BigInteger(message)).modPow(e, n).toByteArray();
}
public byte[] decrypt(byte[] encrypted) {
return (new BigInteger(encrypted)).modPow(d, n).toByteArray();
}
public static void main(String[] args) {
RSA rsa = new RSA();
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a message to encrypt: ");
String text = scanner.nextLine();
byte[] encrypted=rsa.encrypt(text.getBytes());
byte[] decrypted = rsa.decrypt(encrypted);
System.out.println("Encrypted: " + new BigInteger(encrypted).toString(16));
System.out.println("Decrypted: " + new String(decrypted));
scanner.close();
}
}
Prog7.java
import java.util.Scanner;
set ns [new Simulator] Extra spaces are added for readability, but when
executing the code, use only a single
set nf [open program1.nam w]
space between elements to avoid errors. Copy
$ns namtrace-all $nf pasting still works :)
} Prog8(program1.awk)
} c++;
close $nf puts "node [$self set node_ id] received answer
from $from with round trip time $rtt ms"
close $tf
}
exec nam program2.nam &
$ns connect $p1 $p5
exit 0
$ns connect $p3 $p4
}
$ns connect $p2 $p5
for {set i 0} {$i<6} {incr i} {
for {set t 0} {$t<=2.9} {set t [expr $t + 0.1]} {
set n$i [$ns node]
$ns at $t "$p1 send"
}
}
$n4 shape box
for {set t 0} {$t<=2.9} {set t [expr $t + 0.1]} {
$ns duplex-link $n0 $n4 1005Mb 1ms DropTail
$ns at $t "$p3 send"
$ns duplex-link $n1 $n4 50Mb 1ms DropTail
}
$ns duplex-link $n2 $n4 2000Mb 1ms DropTail
$ns at 3.0 "finish"
$ns duplex-link $n3 $n4 200Mb 1ms DropTail
$ns run
$ns duplex-link $n4 $n5 1Mb 1ms DropTail Prog8(program2.awk)
BEGIN{drop=0;}{
for {set i 0} {$i<4} {incr i} { if($1=="d"){