Client
import java.io.*;
import java.net.*;
import java.util.*;
class Clientparity
{ public static void main(String args[])
{
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
Socket clsct=new Socket("127.0.0.1",139);
DataInputStream din=new DataInputStream(clsct.getInputStream());
DataOutputStream dout=new DataOutputStream(clsct.getOutputStream());
System.out.println("Enter the binary data:");
int count=0;
String arr[]=new String[8];
for(int i=0;i<7;i++)
{
arr[i]=in.readLine();
if(arr[i].equals("1"))
{
count++;
}
}
int x;
System.out.println("Press \n 0 to assign parity automatically \n 1 to assign parity manualy");
x=Integer.parseInt(in.readLine());
switch(x)
{
case 0:
count=count%2;
if(count==0)
{
arr[7]="0";
}
else
{
arr[7]="1";
}
break;
case 1:
System.out.println("Enter the parity bit:");
arr[7]=in.readLine();
break;
}
for(int i=0;i<8;i++)
{
dout.writeBytes(arr[i]+'\n');
}
String str=din.readLine();
System.out.println(str);
clsct.close();
}
catch (Exception e)
{ System.out.println(e); }
}}
Server
import java.io.*;
import java.net.*;
import java.util.*;
class Serverparity
{ public static void main(String args[])
{
try
{
ServerSocket obj=new ServerSocket(139);
Socket obj1=obj.accept();
while(true)
{
DataInputStream din=new DataInputStream(obj1.getInputStream());
DataOutputStream dout=new DataOutputStream(obj1.getOutputStream());
String str[]=new String[8];
String str1="Data Received Correctly";
String str2="Retransmit the data";
int count=0;
for(int i=0;i<7;i++)
{
str[i]=din.readLine();
if(str[i].equals("1"))
{
count++;
}
}
count%=2;
str[7]=din.readLine();
if(count==0)
{
if(str[7].equals("0"))
{
dout.writeBytes(str1+'\n');
}
else
{dout.writeBytes(str2+'\n');}
}
else
{
if(str[7].equals("1") )
{
count++;
dout.writeBytes(str1+'\n');
}
else
{dout.writeBytes(str2+'\n');}
}
for(int i=0;i<8;i++)
{ System.out.println(str[i]);}
count%=2;
System.out.println("Syndrome:"+count);
obj.close();}
}
catch(Exception e)
{ System.out.println(e);}
}
}
Output
E:\networks\parity>java Serverparity
E:\networks\parity>java Clientparity
Enter the binary data:
1
0
0
0
1
0
0
Press
0 to assign parity automatically
1 to assign parity manualy
0
Server
1
0
0
0
1
0
0
0
Syndrome:0
Client
Data Received Correctly
Enter the binary data:
1
0
0
0
1
0
1
Press
0 to assign parity automatically
1 to assign parity manualy
1
Enter the parity bit:
0
Server
1
0
0
0
1
0
1
0
Syndrome:1
Client
Retransmit the data
Compile el programa, pero no puedo introducir los 7 bits, solo puedo poner 4, porque?
ReplyDelete