Untitled

                Never    
Java
       
//crc
import java.io.*;

class CRC
{
 public static void main(String args[]) throws IOException
 {
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("Enter Generator:");
  String gen = br.readLine();
  System.out.println("Enter Data:");
  String data = br.readLine();
  String code = data;
  while(code.length() < (data.length() + gen.length() - 1))
   code = code + "0";
  code = data + div(code,gen);
  System.out.println("The transmitted Code Word is: " + code);
  System.out.println("Please enter the received Code Word: ");
  String rec = br.readLine();
  if(Integer.parseInt(div(rec,gen)) == 0)
   System.out.println("The received code word contains no errors.");
  else
   System.out.println("The received code word contains errors.");
 }
 
 static String div(String num1,String num2)
 {
  int pointer = num2.length();
  String result = num1.substring(0, pointer);
  String remainder = "";
  for(int i = 0; i < num2.length(); i++)
  {
   if(result.charAt(i) == num2.charAt(i))
    remainder += "0";
   else
    remainder += "1";
  }
  while(pointer < num1.length())
  {
   if(remainder.charAt(0) == '0')
   {
    remainder = remainder.substring(1, remainder.length());
    remainder = remainder + String.valueOf(num1.charAt(pointer));
    pointer++;
   }
   result = remainder;
   remainder = "";
   for(int i = 0; i < num2.length(); i++)
   {
    if(result.charAt(i) == num2.charAt(i))
     remainder += "0";
    else
     remainder += "1";
   }
  }
  return remainder.substring(1,remainder.length());
 }
}

//mysender
package mysender.java;

import java.io.;import java.net.; 

public class mysender 
{
public static void main(String args[]) 
{
try {
ServerSocket ss=new ServerSocket(113); 
Socket s=ss.accept();
DataInputStream dis=new DataInputStream(s.getInputStream()); 
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
int p=Integer.parseInt(dis.readUTF()); 
for(int i=0;i<p;i++)
{
String Str[]=new String[p]; Str[i]=(String)dis.readUTF(); System.out.println("Frame"+i+" is "+Str[i]); //System.out.println("Ack sent"); dos.writeUTF("ACK");
}
ss.close();
}
catch(Exception e) 
{System.out.print(e);
}
}
}

//myreceiver

package myreceiver.java;

import java.io.*;
import java.net.*;
import java.util.*; 
public class myreceiver {
public static void main(String args[]) {
try {
Socket s=new Socket("localhost",113);
DataOutputStream dout=new DataOutputStream(s.getOutputStream()); DataInputStream di=new DataInputStream(s.getInputStream()); Scanner sc=new Scanner(System.in);
System.out.println("Enter the number of frames to be sent");
int n=sc.nextInt();
String k= Integer.toString(n); dout.writeUTF(k);
String ack[]=new String[n];
int sendwindow=0;
System.out.println("Enter sendwindow size"); sendwindow=sc.nextInt();
for(int i=0,j=0;i<n/sendwindow;i++) {
while(j<sendwindow) { System.out.println("enter frame"+j); String fr=sc.next(); dout.writeUTF(fr); ack[i]=(String)di.readUTF(); System.out.println(ack[i]);
j++;
}
j=0; }
      dout.flush();
      dout.close();
      s.close();
      sc.close();
}catch(Exception e)
{
	System.out.println(e);
}
}
}

Raw Text