Net Lab Original
Net Lab Original
1. TCP COMMUNICATION
ALGORITHM
CLIENT
STEP 01 : START CLIENT
STEP 02 : SEND REQUEST FOR CONNECTION TO SERVER.
STEP 03 : CONNECT TO SERVER WHEN SERVER ACCEPT CONNECTION
STEP 04 : WRITE DATA TO BUFFER THAT RECEIVED FROM CONSOLE.
STEP 05 : CLOSE ALL CONNECTION
STEP 06 : STOP.
SERVER
STEP 01 : START SERVER
STEP 02 : CREATE A SERVER SOCKET.
STEP 03 : ESTABLISH CONNECTION WHEN CLIENT REQUEST FOR
CONNECTION
STEP 04 : IF SOCKET IS NOT CONNECTED DISPLAY ERROR
STEP 05 : READ DATA FROM BUFFER AND DISPLAY ON CONSOLE.
STEP 06 : CLOSE ALL CONNECTION AFTER DISPLAYING
STEP 07 : STOP.
Client Program
package lab.tcp;
import java.io.*;
import java.net.*;
public class Tcpclient {
public static void main(String[] args) {
try
{
System.out.println("This is client and ready to
start communication");
InputStreamReader isr=new InputStreamReader (
System.in);
BufferedReader br=new BufferedReader(isr);
String x;
Socket s=new Socket("localhost",78);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
while(true)
{
System.out.println("Server:"+dis.readUTF());
System.out.println("Enter message to
server:");
x=br.readLine();
dos.writeUTF(x);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Server Program
package lab.tcp;
import java.io.*;
import java.net.*;
public class Tcpserver {
public static void main(String[] args) {
try
{
System.out.println("This is server and ready to
start communication");
InputStreamReader isr=new InputStreamReader
(System.in);
BufferedReader br=new BufferedReader(isr);
String x;
ServerSocket ss=new ServerSocket(78);
Socket s=ss.accept();
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
while(true)
{
System.out.println("Enter message to
client:");
x=br.readLine();
dos.writeUTF(x);
System.out.println("Client:
"+dis.readUTF());
System.out.println();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Server
Client
CLIENT
STEP 01 : START CLIENT
STEP 02 : SEND REQUEST FOR CONNECTION TO SERVER.
STEP 03 : CONNECT TO SERVER WHEN SERVER ACCEPT CONNECTION
STEP 04 : WRITE DATA TO BUFFER THAT RECEIVED FROM CONSOLE.
STEP 05 : READ DATA FROM BUFFER.
STEP 06 : CLOSE ALL CONNECTION
STEP 07 : STOP.
SERVER
STEP 01 : START SERVER
STEP 02 : CREATE A SERVER SOCKET.
STEP 03 : ESTABLISH CONNECTION WHEN CLIENT REQUEST FOR
CONNECTION
STEP 04 : IF SOCKET IS NOT CONNECTED DISPLAY ERROR
STEP 05 : READ DATA FROM BUFFER AND DISPLAY ON CONSOLE.
STEP 06 : WRITE DATA TO BUFFER FOR SENDING TO THE CLIENT
STEP 07 : CLOSE ALL CONNECTION
STEP 08 : STOP.
Client Program
package lab.echo;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try
{
System.out.println("This is client and ready to
start communication");
InputStreamReader isr=new InputStreamReader
(System.in);
BufferedReader br=new BufferedReader(isr);
String x;
Socket s=new Socket("localhost",78);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
while(true)
{
System.out.println("Enter a message to
server:");
x=br.readLine();
dos.writeUTF(x);
System.out.println("Server:"+dis.readUTF());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Server Program
package lab.echo;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try
{
System.out.println("This is server and ready to
start communication");
InputStreamReader isr=new InputStreamReader
(System.in);
BufferedReader br=new BufferedReader(isr);
String x,y;
ServerSocket ss=new ServerSocket(78);
Socket s=ss.accept();
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
while(true)
{
x=dis.readUTF();
y=x.toUpperCase();
dos.writeUTF(y);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Server
Client
3. UDP COMMUNICATION
ALGORITHM
CLIENT
STEP 01 : START CLIENT
STEP 02 : CONVERT DATA INTO UDP PACKETS FOR SENDING TO SERVER.
STEP 03 : SENDING PACKET TO SERVER WHICH LISTENING IN ANY FIXED
NON PORT
STEP 04 : RECEIVE INFORMATION SEND FROM SERVER.
STEP 05 : DISPLAY IT TO CONSOLE.
STEP 06 : STOP.
SERVER
STEP 01 : START SERVER
STEP 02 : LISTEN TO PERTICULAR PORT NUMBER
STEP 03 : RECEIVING PACKET FROM CLIENT AND DISPLAY IT ON CONSOLE
STEP 04 : CONVERT THE RECEIVED DATA INTO PACKET FOR SENDING.
STEP 05 : SEND PACKET TO CLIENT.
STEP 06 : STOP.
Client Program
package lab.udp;
import java.io.*;
import java.net.*;
public class Datagramclient {
public static void main(String[] args) throws Exception
{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
InetAddress local=InetAddress.getLocalHost();
InetAddress r=local;
DatagramSocket ds=new DatagramSocket(4000);
int bsize=2000;
byte[] obuffer=new byte[bsize];
DatagramPacket outgram;
System.out.println("This is client and ready to start
communication");
boolean more = true;
while(more)
{
byte[] ibuffer=new byte[bsize];
DatagramPacket dp=new DatagramPacket
(ibuffer,bsize);
String send=br.readLine();
obuffer=send.getBytes();
outgram=new DatagramPacket
(obuffer,obuffer.length,r,3456);
ds.send(outgram);
if((send.trim().equals("exit")))
break;
ds.receive(dp);
String data=new String(dp.getData());
data=data.trim();
System.out.println("From server : "+data);
if(data.equals("exit"))
break;
}
ds.close();
}
}
Server Program
package lab.udp;
import java.io.*;
import java.net.*;
public class Datagramserver {
public static void main(String[] args) throws Exception
{
BufferedReader k=new BufferedReader (new
InputStreamReader(System.in));
InetAddress i=InetAddress.getLocalHost();
InetAddress r=null;
DatagramSocket ds=new DatagramSocket(3456);
int bsize=2000;
int rport;
DatagramPacket dp;
System.out.println("This is server and type replies
and type exit to quit");
boolean more=true;
while(more)
{
byte[]inbuffer=new byte[bsize];
DatagramPacket ingram=new
DatagramPacket(inbuffer,bsize);
byte[]outbuffer=new byte[bsize];
ds.receive(ingram);
r=ingram.getAddress();
rport=ingram.getPort();
String data=new String(ingram.getData());
data=data.trim();
if(data.equals("exit"))
break;
System.out.println("From client : "+data);
String rply=k.readLine();
outbuffer=rply.getBytes();
dp=new DatagramPacket
(outbuffer,outbuffer.length,r,rport);
ds.send(dp);
if(rply.equals("exit"))
break;
}
ds.close();
}
}
OUTPUT:
Server
Client
CLIENT
STEP 01 : START
STEP 02 : SEND REQUEST FOR CONNECTION TO SERVER
STEP 03 : CONNECT TO SERVER WHEN SERVER ACCEPT CONNECTION
STEP 04 : READ THREE NUMBERS.
STEP 05 : WRITE THE ABOVE NUMBERS TO BUFFER THAT ARE RECEIVED FROM
CONSOLE
STEP 06 : IF ERROR OCCURS DISPLAY THE ERROR DURING WRITE OPERATION
STEP 07 : READ DATA FROM BUFFER AND DISPLAY IT
STEP 08 : CLOSE THE CONNECTION AFTER DATA SEND
STEP 09 : STOP
SERVER
STEP 01 : START
STEP 02 : CREATE A SERVER SOCKET
STEP 03 : ESTABLISH CONNECTION WHEN CLIENT REQUEST FOR CONNECTION
STEP 04 : IF SOCKET IS NOT CONNECTED PROPERLY DISPLAY ERROR
STEP 05 : READ NUMBERS FROM BUFFER AND DISPLAY IT ON CONSOLE
STEP 06 : FIND THE LARGEST NUMBER.
STEP 07 : WRITE THE LARGEST NUMBER TO BUFFER FOR SENDING TO CLIENT
STEP 08 : CLOSE CONNECTION AFTER SENDING DATA
STEP 09 : STOP
Client Program
package lab.big;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try
{
System.out.println("This is client and ready to
start two way communication");
InputStreamReader isr=new InputStreamReader
(System.in);
BufferedReader br=new BufferedReader(isr);
String x,y,z;
Socket s=new Socket("localhost",2000);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
System.out.println("Enter 3 numbers");
x=br.readLine();
y=br.readLine();
z=br.readLine();
dos.writeUTF(x);
dos.writeUTF(y);
dos.writeUTF(z);
System.out.println("Largest number is"
+dis.readByte());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Server Program
package lab.big;
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try
{
System.out.println("This is server and ready to
start communication");
InputStreamReader isr=new InputStreamReader
(System.in);
BufferedReader br=new BufferedReader(isr);
String x,y,z;
int a,b,c;
ServerSocket s=new ServerSocket(2000);
Socket ss=s.accept();
InputStream is=ss.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=ss.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
x=dis.readUTF();
y=dis.readUTF();
z=dis.readUTF();
a=Integer.parseInt(x);
b=Integer.parseInt(y);
c=Integer.parseInt(z);
if(a>b)
{
if(a>c)
{
dos.writeByte(a);
}
else
{
dos.writeByte(c);
}
}
else if(b>c)
{
dos.writeByte(b);
}
else
{
dos.writeByte(c);
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Server
Client
CLIENT
STEP 01 : START
STEP 02 : SEND REQUEST FOR CONNECTION TO SERVER
STEP 03 : CONNECT TO SERVER WHEN SERVER ACCEPT CONNECTION
STEP 04 : READ NUMBERS.
STEP 05 : WRITE THE ABOVE NUMBERS TO BUFFER THAT ARE RECEIVED FROM
CONSOLE
STEP 06 : IF ERROR OCCURS DISPLAY THE ERROR DURING WRITE OPERATION
STEP 07 : READ DATA FROM BUFFER AND DISPLAY IT
STEP 08 : CLOSE THE CONNECTION AFTER DATA SEND
STEP 09 : STOP
SERVER
STEP 01 : START
STEP 02 : CREATE A SERVER SOCKET
STEP 03 : ESTABLISH CONNECTION WHEN CLIENT REQUEST FOR CONNECTION
STEP 04 : IF SOCKET IS NOT CONNECTED PROPERLY DISPLAY ERROR
STEP 05 : READ NUMBERS FROM BUFFER AND DISPLAY IT ON CONSOLE
STEP 06 : SORT THE NUMBERS.
STEP 07 : WRITE THE SORTED NUMBERS TO BUFFER FOR SENDING TO CLIENT
STEP 08 : CLOSE CONNECTION AFTER SENDING DATA
STEP 09 : STOP
Client Program
package lab.sort;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try
{
System.out.println("This is client and ready to
start communication");
InputStreamReader isr=new
InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String a[]=new String[10];
String l;
byte n;
Socket s=new Socket("localhost",81);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
System.out.println("enter the limit of
numbers");
l=br.readLine();
dos.writeUTF(l);
n=Byte.parseByte(l);
System.out.println("enter numbers");
for(int i=0;i<n;i++)
{
a[i]=br.readLine();
dos.writeUTF(a[i]);
}
System.out.println("the array to be sorted is");
for(int i=0;i<n;i++)
{
System.out.println(dis.readByte());
}
Server Program
package lab.sort;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try
{
System.out.println("This is server and ready to
start communication");
InputStreamReader isr=new
InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String a[]=new String[10];
byte b[]=new byte[10];
String l;
byte temp,n;
ServerSocket ss=new ServerSocket(81);
Socket s=ss.accept();
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
l=dis.readUTF();
n=Byte.parseByte(l);
for(int i=0;i<n;i++)
{
a[i]=dis.readUTF();
}
for(int i=0;i<n;i++)
{
b[i]=Byte.parseByte(a[i]);
}
System.out.println("the array to be sorted is");
for(int i=0;i<n;i++)
{
System.out.println(b[i]);
dos.writeByte(b[i]);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(b[i]<b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
System.out.println("the sorted array is");
for(int i=0;i<n;i++)
{
System.out.println(b[i]);
dos.writeByte(b[i]);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Client
Server
CLIENT
STEP 01 : START
STEP 02 : SEND REQUEST FOR CONNECTION TO SERVER
STEP 03 : CONNECT TO SERVER WHEN SERVER ACCEPT CONNECTION
STEP 04 : READ THE ROWS AND COLUMNS OF FIRST MATRIX
STEP 05 : READ THE ELEMENTS OF FIRST MATRIX.
STEP 06 : WRITE THE ABOVE NUMBERS TO BUFFER THAT ARE RECEIVED FROM
CONSOLE
STEP 07 : IF ERROR OCCURS DISPLAY THE ERROR DURING WRITE OPERATION
STEP 08: READ THE ROWS AND COLUMNS OF SECOND MATRIX
STEP 09 : READ THE ELEMENTS OF SECOND MATRIX.
STEP 10 : WRITE THE ABOVE NUMBERS TO BUFFER THAT ARE RECEIVED FROM
CONSOLE
STEP 11 : IF ERROR OCCURS DISPLAY THE ERROR DURING WRITEOPERATION
STEP 12 : READ ADDED MATRIX AND MULTIPLIED MATRIX FROM BUFFER AND
DISPLAY IT
STEP 08 : CLOSE THE CONNECTION AFTER DATA SEND
STEP 09 : STOP
SERVER
STEP 01 : START
STEP 02 : CREATE A SERVER SOCKET
STEP 03 : ESTABLISH CONNECTION WHEN CLIENT REQUEST FOR CONNECTION
STEP 04 : IF SOCKET IS NOT CONNECTED PROPERLY DISPLAY ERROR
STEP 05 : READ MATRICES FROM BUFFER AND DISPLAY IT ON CONSOLE
STEP 06 : ADD AND MULTIPLY THE MATRICES.
STEP 07 : WRITE THE ADDED AND MULTIPLIED MATRICES TO BUFFER FOR
SENDING TO CLIENT AND DISPLAY IT ON CONSOLE
Client Program
package lab.matrix;
import java.io.*;
import java.net.*;
System.out.print(" ");
}
System.out.println();
}
}
else
{
System.out.println("the matrices can not
Be subtracted ");
}
if(n1==p1)
{
System.out.println("the matrices can be
multiplied and the multiplied matrix is");
for(int i=0;i<m1;i++)
{
for(int j=0;j<q1;j++)
{
System.out.print(dis.readByte());
System.out.print(" ");
}
System.out.println();
}
}
else
{
System.out.println("the matrices can not be
multiplied ");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Server Program
package lab.matrix;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
m1=Integer.parseInt(m);
n1=Integer.parseInt(n);
for(int i=0;i<m1;i++)
{
for(int j=0;j<n1;j++)
{
a[i][j]=dis.readUTF();
}
}
for(int i=0;i<m1;i++)
{
for(int j=0;j<n1;j++)
{
c[i][j]=Integer.parseInt(a[i][j]);
}
System.out.println();
}
p=dis.readUTF();
q=dis.readUTF();
p1=Integer.parseInt(p);
q1=Integer.parseInt(q);
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
b[i][j]=dis.readUTF();
}
}
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
d[i][j]=Integer.parseInt(b[i][j]);
}
System.out.println();
}
if(m1==p1 && n1==q1)
{
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
e[i][j]=c[i][j]+d[i][j];
dos.writeByte(e[i][j]);
}
}
System.out.println("the added matrix is");
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
System.out.print(e[i][j]);
System.out.print(" ");
}
System.out.println();
}
}
else
{
System.out.print(" matrices can not be added ");
}
if(m1==p1 && n1==q1)
{
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
f[i][j]=c[i][j]-d[i][j];
dos.writeByte(f[i][j]);
}
}
System.out.println("the subtracted matrix is");
for(int i=0;i<p1;i++)
{
for(int j=0;j<q1;j++)
{
System.out.print(f[i][j]);
System.out.print(" ");
}
System.out.println();
}
}
else
{
System.out.println(" matrices can not be
subtracted ");
}
if(n1==p1)
{
for(int i=0;i<m1;i++)
{
for(int j=0;j<q1;j++)
{
x[i][j]=0;
for(int k=0;k<p1;k++)
{
x[i][j]=(x[i][j]+(c[i][k]*d[k][j]));
}
}
}
System.out.println("the multiplied matrix is");
for(int i=0;i<m1;i++)
{
for(int j=0;j<q1;j++)
{
dos.writeByte(x[i][j]);
System.out.print(x[i][j]);
System.out.print(" ");
}
System.out.println();
}
}
else
{
System.out.print(" matrices can not be
multiplied ");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Client
this is client
enter the rows and columns of first matrix
2
2
enter the elements of first matrix
3
3
3
3
enter the rows and columns of second matrix
2
2
enter the elements of second matrix
3
3
3
3
the matrices can be added and the added matrix is
6 6
6 6
0 0
0 0
18 18
18 18
Server
6 6
6 6
0 0
0 0
1
the multiplied matrix is
18 18
18 18
SERVER
Client Program
package lab.file;
import java.io.*;
import java.net.*;
public class Fileclient {
public static void main(String[] args) {
try
{
System.out.println("this is client and ready to
communication");
InputStreamReader isr=new
InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String filename;
Socket s=new Socket("localhost",3000);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
System.out.println("enter the file name");
filename=br.readLine();
dos.writeUTF(filename);
BufferedReader b=new BufferedReader(new
InputStreamReader(s.getInputStream()));
System.out.println(“contents of the file are”);
while(true)
{
System.out.println(dis.readUTF());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Server Program
package lab.file;
import java.io.*;
import java.net.*;
public class Fileserver {
public static void main(String[] args) {
try
{
System.out.println("this is server and ready to
communication");
InputStreamReader isr=new
InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String filename;
int x=0;
ServerSocket ss=new ServerSocket(3000);
Socket s=ss.accept();
//FileInputStream fin;
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
filename=dis.readUTF();
File f=new File(filename);
FileInputStream fin=new FileInputStream(filename);
DataInputStream in=new DataInputStream(fin);
BufferedReader b=new BufferedReader(new
InputStreamReader(in));
String str;
/*while((x=fin.read())!=-1)
{
dos.write(x);
}*/
while((str=b.readLine())!=null)
{
dos.writeUTF(str);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
OUTPUT:
Client
this is client and ready to communication
enter the file name
hello.txt
contents of the file are
heloooooooooo
haiiiiiiiiii
Server