Sunday 24 March 2013

3-10



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();
                        }
            }
}