PRACTICAL NO: 3
AIM: Write a TCP program that will calculate
factorial for client.
Server side code:
import
java.io.*;
import
java.net.*;
class
tcpServerFact
{
public
static void main(String args[])
{
try
{
ServerSocket
ss=new ServerSocket(8001);
System.out.println("server
started");
Socket
s=ss.accept();
DataInputStream
ifc=new DataInputStream(s.getInputStream());
String
str=ifc.readLine();
System.out.println("the
number is:"+str);
int fact=1;
int
a=Integer.parseInt(str);
for(int
i=1;i<=a;i++)
{
fact=fact*i;
}
String
str1=fact+"\n";
DataOutputStream
otc=new DataOutputStream(s.getOutputStream());
otc.writeBytes(str1);
}
catch(Exception
e)
{
e.printStackTrace();
}
}
}
Client side code:
import
java.io.*;
import
java.net.*;
class tcpClientFact
{
public
static void main(String args[])
{
try
{
Socket
cs=new Socket("LocalHost",8001);
System.out.println("enter
number:");
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
String
str=br.readLine();
DataOutputStream
out=new DataOutputStream(cs.getOutputStream());
out.writeBytes(str+"\n");
DataInputStream
in=new DataInputStream(cs.getInputStream());
String
str1=in.readLine();
System.out.println("factorial
of"+str+"is:"+str1);
}
catch(Exception
e)
{
e.printStackTrace();
}
} }
PRACTICAL NO: 4
AIM: Write a TCP program to show the echo system
from client to Server.
Server side code:
import
java.io.*;
import
java.net.*;
class
tcpServerEcho
{
public
static void main(String agrs[])
{
try
{
ServerSocket
ss=new ServerSocket(8001);
System.out.println("server
started");
Socket
s=ss.accept();
DataInputStream
ifc=new DataInputStream(s.getInputStream());
DataOutputStream
otc=new DataOutputStream(s.getOutputStream());
String
input;
while((input=ifc.readLine())!=null)
{
System.out.println("server:"+input);
otc.writeBytes(input+"\n");
if(input.equals("Bye."))
break;
}
ss.close();
}
catch(Exception
e)
{
e.printStackTrace();
}
}
}
Client side code:
import
java.io.*;
import
java.net.*;
class tcpClientEcho
{
public
static void main(String args[])
{
try
{
Socket
cs=new Socket("LocalHost",8001);
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
DataOutputStream
ots=new DataOutputStream(cs.getOutputStream());
DataInputStream
ifs=new DataInputStream(cs.getInputStream());
String
uinput;
System.out.println("enter
Bye. to stop");
System.out.println("input:");
while((uinput=br.readLine())!=null)
{
ots.writeBytes(uinput+"\n");
System.out.println("echo:"+ifs.readLine());
if(uinput.equals("Bye."))
break;
System.out.println("input:");
}
cs.close();
}
catch(Exception
e)
{
e.printStackTrace();
}
}
}
PRACTICAL NO: 5
AIM: Write a TCP program to show the Chatting
between client and Server.
Server side code:
import
java.io.*;
import
java.net.*;
class
tcpServerChat
{
public static void main(String
args[])
{
try
{
ServerSocket
ss = new ServerSocket(8001);
System.out.println("server
started");
Socket s =
ss.accept();
BufferedReader
br = new BufferedReader(new InputStreamReader(System.in));
DataInputStream
in = new DataInputStream(s.getInputStream());
DataOutputStream
out = new DataOutputStream(s.getOutputStream());
String
receive,send ;
while((receive
= in.readLine()) != null)
{
if(receive.equals("STOP"))
break;
System.out.println("Client
says : " + receive);
System.out.println("Server
says: ");
send=br.readLine();
out.writeBytes(send+”\n”);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Client side code:
import
java.io.*;
import
java.net.*;
class
tcpClientChat
{
public static void main(String
arg[])
{
try
{
Socket cs =
new Socket("LocalHost" , 8001);
BufferedReader
br = new BufferedReader(new InputStreamReader(System.in));
DataOutputStream
out = new DataOutputStream(cs.getOutputStream());
DataInputStream
in= new DataInputStream(cs.getInputStream());
String msg ;
System.out.println("enter
STOP to stop chatting");
System.out.println("Client
says : ");
while((msg =
br.readLine()) != null)
{
out.writeBytes(msg
+ "\n");
if(msg.equals("STOP"))
break;
System.out.println("Server
says : " + in.readLine());
System.out.println("Client
says: ");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
PRACTICAL NO:6
Aim: Write a
java client Server udp code in where client sends a number to server
and the server gives words representation of the number.
Server Side
Code:
import
java.net.*;
import
java.io.*;
class
tcpServerWord
{
public static void main(String args[])
{
try
{
ServerSocket
ss = new ServerSocket(8001);
System.out.println("Server
Started.......");
Socket s =
ss.accept();
DataInputStream
in = new DataInputStream(s.getInputStream());
String no =
in.readLine();
System.out.println(no);
String a =
convertDigit(no);
System.out.println(a);
DataOutputStream
otc = new DataOutputStream(s.getOutputStream());
otc.writeBytes(a+"\n");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static String
convertDigit(String no) throws Exception
{
String str="";
for(int
i=0;i
{
int
p=no.charAt(i);
if(p==48)
{
str+="zero";
}
if(p==49)
{
str+="one";
}
if(p==50)
{
str+="two";
}
if(p==51)
{
str+="three";
}
if(p==52)
{
str+="four";
}
if(p==53)
{
str+="five";
}
if(p==54)
{
str+="six";
}
if(p==55)
{
str+="seven";
}
if(p==56)
{
str+="eight";
}
if(p==57)
{
str+="nine";
}
}
return str;
}
}
Client Side Code:
import
java.net.*;
import
java.io.*;
class
tcpClientWord
{
public static void main(String
args[])
{
try
{
Socket cs =
new Socket("LocalHost",8001);
BufferedReader
br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter
a number : ");
String str =
br.readLine();
DataOutputStream
out = new DataOutputStream(cs.getOutputStream());
out.writeBytes(str
+ "\n");
DataInputStream
in = new DataInputStream(cs.getInputStream());
System.out.println("The
converted representation is :"+in.readLine());
cs.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
PRACTICAL NO:7
Aim: Write a
java client Server udp code in which a client greets the server and the server send date and time to the
client.
Server Side
Code:
import java.io.*;
import java.net.*;
import java.util.*;
public class udpServerTime
{
public
static void main(String args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(2000);
System.out.println("Waiting
for client....");
byte
b1[]=new byte[1024];
DatagramPacket
dp1=new DatagramPacket(b1,b1.length);
ds.receive(dp1);
String
name=new String(dp1.getData(),0,dp1.getLength());
System.out.println(name);
byte
b2[]=new byte[1024];
Date
d=new Date();
String
time=d.toString();
String
output="Hello... \nThe current date and time is:"+time;
b2=output.getBytes();
DatagramPacket
dp2=new DatagramPacket(b2,b2.length,InetAddress.getLocalHost(),1000);
ds.send(dp2);
}
catch(Exception
e)
{
e.printStackTrace();
}
}
}
Client side code:
import java.io.*;
import java.net.*;
public class udpClientTime
{
public
static void main(String args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(1000);
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter
your name:");
String
name=br.readLine();
String
s="Hi, I am"+name;
byte
b1[]=new byte[1024];
b1=s.getBytes();
DatagramPacket
dp1=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),2000);
ds.send(dp1);
byte
b2[]=new byte[1024];
DatagramPacket
dp2=new DatagramPacket(b2,b2.length);
ds.receive(dp2);
String
str=new String(dp2.getData(),0,dp2.getLength());
System.out.println("\n"+str);
}
catch(Exception
e)
{
e.printStackTrace();
}
}
}
PRACTICAL NO:8
Aim: Write a java
Client/Server udp code where client sends two numbers to server and server
returns greatest among them.
Server Side code:
import
java.io.*;
import
java.net.*;
public class
udpServerMax
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(4000);
byte b[]=new
byte[1024];
byte
b1[]=new byte[1024];
byte
b2[]=new byte[1024];
String
str2=new String();
DatagramPacket
dp=new DatagramPacket(b,b.length);
ds.receive(dp);
String
str=new String(dp.getData(),0,dp.getLength());
int
num1=Integer.parseInt(str);
DatagramPacket
dp1=new DatagramPacket(b1,b1.length);
ds.receive(dp1);
String
str1=new String(dp1.getData(),0,dp1.getLength());
int
num2=Integer.parseInt(str1);
if(num1>num2)
{
str2=num1+"is
greater\n";
}
else
if(num2>num1)
{
str2=num2+"is
greater\n";
}
else
{
str2=num1+"and"+num2+"both
are same";
}
b2=str2.getBytes();
DatagramPacket
dp2=new DatagramPacket(b2,b2.length,InetAddress.getLocalHost(),3000);
ds.send(dp2);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Client Side code:
import
java.io.*;
import
java.net.*;
public class
udpClientMax
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(3000);
byte b[]=new
byte[1024];
byte
b1[]=new byte[1024];
byte
b2[]=new byte[1024];
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter
the first number:");
String
num1=br.readLine();
b=num1.getBytes();
DatagramPacket
dp=new DatagramPacket(b,b.length,InetAddress.getLocalHost(),4000);
ds.send(dp);
System.out.println("Enter
the second number:");
String
num2=br.readLine();
b1=num2.getBytes();
DatagramPacket
dp1=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),4000);
ds.send(dp1);
DatagramPacket
dp2=new DatagramPacket(b2,b2.length);
ds.receive(dp2);
String
str=new String(dp2.getData(),0,dp2.getLength());
System.out.println(str);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
PRACTICAL NO:9
Aim: Write a java client/server udp
code to check whether the entered number is prime or not.
Server Side Code:
import
java.io.*;
import
java.net.*;
public class
udpServerPrime
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(2000);
byte b[]=new
byte[1024];
byte
b1[]=new byte[1024];
String
str1=new String();
DatagramPacket
dp=new DatagramPacket(b,b.length);
ds.receive(dp);
String
str=new String(dp.getData(),0,dp.getLength());
int
num=Integer.parseInt(str);
if(num==1 |
num==2 | num==3 )
{
str=num+"is
a prime number";
b1=str.getBytes();
DatagramPacket
dp2=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),1000);
ds.send(dp2);
System.exit(0);
}
else
{
int
num2=num/2;
for(int
i=2;i<=num2;i++)
{
if(num%i==0)
{
str1=num+"is
not a prime number";
b1=str1.getBytes();
DatagramPacket
dp2=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),1000);
ds.send(dp2);
System.exit(0);
}
}
}
str1=num+"is
a prime number";
b1=str1.getBytes();
DatagramPacket
dp2=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),1000);
ds.send(dp2);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Client Side Code:
import
java.io.*;
import
java.net.*;
public class
udpClientPrime
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(1000);
byte b[]=new
byte[1024];
byte
b1[]=new byte[1024];
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter
a number:");
String
num1=br.readLine();
b=num1.getBytes();
DatagramPacket
dp=new DatagramPacket(b,b.length,InetAddress.getLocalHost(),2000);
ds.send(dp);
DatagramPacket
dp1=new DatagramPacket(b1,b1.length);
ds.receive(dp1);
String
str=new String(dp1.getData(),0,dp1.getLength());
System.out.println(str);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
PRACTICAL NO:10
Aim: Write a java
client/server udp code to change the case of sentence.
Server Side Code:
import
java.io.*;
import
java.net.*;
public class
udpServerCase
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(2000);
byte b[]=new
byte[1024];
DatagramPacket
dp=new DatagramPacket(b,b.length);
ds.receive(dp);
String
str=new String(dp.getData(),0,dp.getLength());
String
up=str.toUpperCase();
String
low=str.toLowerCase();
byte
b1[]=new byte[1024];
String
str1="Upper case string is:"+up+"\nlower case string
is:"+low;
b1=str1.getBytes();
DatagramPacket
dp2=new DatagramPacket(b1,b1.length,InetAddress.getLocalHost(),1000);
ds.send(dp2);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Client Side Code:
import
java.io.*;
import
java.net.*;
public class
udpClientCase
{
public static void main(String
args[])
{
try
{
DatagramSocket
ds=new DatagramSocket(1000);
BufferedReader
br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter
a String:");
String
str1=br.readLine();
byte b[]=new
byte[1024];
b=str1.getBytes();
DatagramPacket
dp=new DatagramPacket(b,b.length,InetAddress.getLocalHost(),2000);
ds.send(dp);
byte
b1[]=new byte[1024];
DatagramPacket
dp1=new DatagramPacket(b1,b1.length);
ds.receive(dp1);
String
str=new String(dp1.getData(),0,dp1.getLength());
System.out.println(str);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}