Develop A Program For Error Detecting Code Using CRC-CCITT (16-Bits)
Develop A Program For Error Detecting Code Using CRC-CCITT (16-Bits)
import java.util.Scanner;
import java.io.*;
for(int i=0;i<message.length();i++)
data[i] = Integer.parseInt(message.charAt(i)+"");
for(int i=0;i<generator.length();i++)
divisor[i] = Integer.parseInt(generator.charAt(i)+"");
//Calculation of CRC
for(int i=0;i<message.length();i++)
data[i+j] ^= divisor[j];
//Display CRC
System.out.print(data[i]);
System.out.println();
message = sc.nextLine();
for(int i=0;i<message.length();i++)
data[i] = Integer.parseInt(message.charAt(i)+"");
for(int i=0;i<generator.length();i++)
divisor[i] = Integer.parseInt(generator.charAt(i)+"");
//Calculation of remainder
for(int i=0;i<message.length();i++)
if(data[i]==1)
for(int j=0;j<divisor.length;j++)
data[i+j] ^= divisor[j];
for(int i=0;i<data.length;i++)
if(data[i]==1)
if(valid==true)
System.out.println("Data stream is valid");
else
import java.util.Scanner;
import java.lang.*;
int buck_rem = 0;
int buck_cap = 4;
int rate = 3;
if (a[i] != 0) {
buck_rem += a[i];
}}
else { recv = 0;
if (buck_rem != 0)
sent = buck_rem;
buck_rem = 0;
} else {
}}
else { sent = 0}
(recv == -1)
if (recv == -1)
import java.io.DataInputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.util.Random;
private Random r;
public RSA()
r=new Random();
p=BigInteger.probablePrime(bitlength,r);
q=BigInteger.probablePrime(bitlength,r);
N=p.multiply(q);
phi=p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE));
e=BigInteger.probablePrime(bitlength/2,r);
while(phi.gcd(e).compareTo(BigInteger.ONE)>0&&e.compareTo(phi)<0)
e.add(BigInteger.ONE);
this.e=e;
this.d=d;
this.N=N;
testString=in.readLine();
System.out.println("Encrypting string:"+testString);
System.out.println("string in
bytes:"+bytesToString(testString.getBytes()));
byte[] encrypted=rsa.encrypt(testString.getBytes());
byte[] decrypted=rsa.decrypt(encrypted);
System.out.println("Dcrypting Bytes:"+bytesToString(decrypted));
test+=Byte.toString(b);
return test;
public byte[]encrypt(byte[]message)
return(new BigInteger(message)).modPow(e,N).toByteArray();
public byte[]decrypt(byte[]message)
return(new BigInteger(message)).modPow(d,N).toByteArray();
// TCP Server :
import java.net.*;
import java.io.*;
public class TCPS
Socket sock=sersock.accept();
InputStream istream=sock.getInputStream();
String fname=fileRead.readLine();
OutputStream ostream=sock.getOutputStream();
String str;
while((str=ContentRead.readLine())!=null)
pwrite.println(str);
sock.close();
sersock.close();
pwrite.close();
fileRead.close();
ContentRead.close();
}
TCP Client:
import java.net.*;
import java.io.*;
String fname=keyRead.readLine();
OutputStream ostream=sock.getOutputStream();
pwrite.println(fname);
InputStream istream=sock.getInputStream();
String str;
while((str=socketRead.readLine())!=null)
System.out.println(str);
pwrite.close();
socketRead.close();
keyRead.close();
}
5. Develop a program on datagram socket for client/server to
display the messages on client side, typed at the server side.
//UDP Sever:
import java.net.*;
import java.net.InetAddress;
class UDPServer
while(true)
System.out.println("Server is Up");
DatagramPacket receivePacket=new
DatagramPacket(receiveData,receiveData.length);
serverSocket.receive(receivePacket);
System.out.println("RECEIVED:"+sentence);
InetAddress IPAddress=receivePacket.getAddress();
int port=receivePacket.getPort();
String capitalizedSentence=sentence.toUpperCase();
sendData=capitalizedSentence.getBytes();
DatagramPacket sendPacket=new
DatagramPacket(sendData,sendData.length,IPAddress,port);
serverSocket.send(sendPacket);
}
//UDP Client :
import java.io.*;
import java.net.*;
import java.net.InetAddress;
class UDPClient
InetAddress IPAddress=InetAddress.getByName("localhost");
DatagramPacket sendPacket=new
DatagramPacket(sendData,sendData.length,IPAddress,9876);
clientSocket.send(sendPacket);
DatagramPacket receivePacket=new
DatagramPacket(receiveData,receiveData.length);
clientSocket.receive(receivePacket);
System.out.println("FROM SERVER:"+modifiedSentence);
clientSocket.close();
class Graph {
class Edge {
this.weight = weight; } }
Edge[] edgeList;
this.vertices = vertices;
this.edges = edges;
Arrays.fill(distances, Integer.MAX_VALUE);
distances[startVertex] = 0;
Arrays.fill(distances, Integer.MAX_VALUE);
do { updated = false;
int vertices = 5;
int edges = 8;
graph.addEdge(1, 0, 2, 4);
graph.addEdge(2, 1, 2, 3);
graph.addEdge(3, 1, 3, 2);
graph.addEdge(4, 1, 4, 2);
graph.addEdge(5, 3, 2, 5);
graph.addEdge(6, 3, 1, 1);
graph.addEdge(7, 4, 3, -3); // Running Bellman-Ford Algorithm
System.out.println("Bellman-Ford Algorithm:"); graph.bellmanFord(0); //
Distance Vector Routing System.out.println("\nDistance Vector Routing
Algorithm:");
import java.util.Arrays;
import java.util.Random;
class GoBackNProtocol {
this.TOTAL_FRAMES = totalFrames;
this.WINDOW_SIZE = windowSize;
nextFrameToSend++;
if (random.nextBoolean()) {
frameExpectedByReceiver += WINDOW_SIZE;
} else {
protocol.sendFrames();
}}