Sunteți pe pagina 1din 28

FILE TRANSFER USING TCP

[ From client to server]


AIM:

To implement file transfer using TCP from client to server in java.

ALGORITHM:

SERVER:

1. Start , import the required header files.

2. Create server socket to establish the connetion.

3. Create bufferred reader to read input array and send the output to print writer objects to display
output.

4. Let the file name that is to be transferred, read every character of the file until null and display it.

5. Stop.

CLIENT:

1. Start , import the required header files.

2. Create a socket containing the required IP address.

3. Create a input buffer reader to read input stream and send the output print object to display
output.

4. Get the file name and read every character of the file until known to transfer the file.

PROGRAM:

CLIENT:

import java.io.*;
import java.net.*;
import java.util.*;
public class ft1client
{
public static void main(String args[])
{
try
{
DataInputStream dis=new DataInputStream(System.in);
System.out.println("Enter the file name :");
String f=dis.readLine();
File f1= new File(f);
FileReader fr=new FileReader(f1);
Socket s=new Socket("127.0.0.1",8081);
PrintWriter put=new PrintWriter(s.getOutputStream(),true);
put.println(f);
int c=0;
while((c=fr.read())!=-1)
put.println(c);
System.out.println("File content are transferred");
fr.close();
s.close();
}
catch(IOException e)
{
}
}
}

SERVER:

import java.io.*;
import java.net.*;
import java.util.*;
public class ft1server
{
public static void main(String args[])throws IOException
{
ServerSocket ss;
Socket s;
try
{
System.out.println("Waiting for client");
ss=new ServerSocket(8081);
s=ss.accept();
System.out.println("Connection established");
BufferedReader get=new BufferedReader(new InputStreamReader(s.getInputStream()));
String fname;
fname =get.readLine();
System.out.println("File name is : "+fname);
File f=new File(fname);
FileWriter fw=new FileWriter(f);
String c;
while((c=get.readLine())!=null)
fw.write(Integer.parseInt(c));
System.out.println("Finished the content");
fw.close();
}
catch(IOException e)
{
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac ft1client.java
Note: ft1client.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>javac ft1server.java

C:\jdk1.3\bin>java ft1server
Waiting for client

2nd

C:\jdk1.3\bin>java ft1client
Enter the file name :
u1.txt
File content are transferred

1st

C:\jdk1.3\bin>java ft1server
Waiting for client
Connection established
File name is : u1.txt
Finished the content

FILE TRANSFER USING TCP


[ From server to client ]
AIM:

To implement file transfer using TCP from server to client in java.

ALGORITHM:

CLIENT:

1. Start , import all the necessary packages.

2. Create a client socket and connect to server using port & IP address.

3. Send a file request to server.

4. Then server responses are retrived using input & output streams.

5. Close the socket.

SERVER:

1. Import all the necessary packages.

2. Create a client and server socket and accept client connection.

3. Transfer file that user requested to transfer using output stream.

4. Close the socket and trace the output.

PROGRAM:

CLIENT:
import java.io.*;
import java.net.*;
import java.util.*;
public class ft2client
{
public static void main(String srgs[])throws IOException
{
Socket s=null;
BufferedReader get=null;
PrintWriter put=null;
try
{
s=new Socket("127.0.0.1",8081);
get=new BufferedReader(new InputStreamReader(s.getInputStream()));
put=new PrintWriter(s.getOutputStream(),true);
}
catch(Exception e)
{
System.exit(0);
}
String u,f;
System.out.println("Enter the file name to transfer from server:");
DataInputStream dis=new DataInputStream(System.in);
f=dis.readLine();
put.println(f);
File f1=new File(f);
FileOutputStream fs=new FileOutputStream(f1);
while((u=get.readLine())!=null)
{
byte jj[]=u.getBytes();
fs.write(jj);
}
fs.close();
System.out.println("File received");
s.close();
}
}

SERVER:

import java.io.*;
import java.net.*;
import java.util.*;
public class ft2server
{
public static void main(String args[])throws IOException
{
ServerSocket ss=null;
try
{
ss=new ServerSocket(8081);
}
catch(IOException e)
{
System.out.println("couldn't listen");
System.exit(0);
}
Socket cs=null;
try
{
cs=ss.accept();
System.out.println("Connection established"+cs);
}
catch(Exception e)
{
System.out.println("Accept failed");
System.exit(1);
}
PrintWriter put=new PrintWriter(cs.getOutputStream(),true);
BufferedReader st=new BufferedReader(new InputStreamReader(cs.getInputStream()));
String s=st.readLine();
System.out.println("The requested file is : "+s);
File f=new File(s);
if(f.exists())
{
BufferedReader d=new BufferedReader(new FileReader(s));
String line;
while((line=d.readLine())!=null)
{
put.write(line);
put.flush();
}
d.close();
System.out.println("File transfered");
cs.close();
ss.close();
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac ft2client.java
Note: ft2client.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>javac ft2server.java

C:\jdk1.3\bin>java ft2server

2nd

C:\jdk1.3\bin>java ft2client
Enter the file name to transfer from server :
u1.txt
File received

1st

C:\jdk1.3\bin>java ft2server
Connection established Socket[addr=localhost/127.0.0.1,port=3022,localport=8081]
The requested file is : u1.txt
File transfered

EX.NO:3
DATE :

REMOTE COMMAND EXECUTION

AIM:
To create a program for executing a command in the system from a remote point.

ALGORITHM:

CLIENT:

1. Start and import all the necessary packages.

2. Create a client side socket with local socket address.

3. Get the command from user and put it on output stream of socket.

4. Close the socket and stop.

SERVER:

1. Start and import all the necessary packages.

2. Create a client and server socket and accept the incoming client request.

3. Using runtime , create runtime environment.

4. Using process execution to remote command and stop.

PROGRAM:

CLIENT:

import java.io.*;
import java.net.*;
public class remclient
{
public static void main(String args[])throws IOException
{
try
{
Socket s=new Socket("127.0.0.1",8081);
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String cmd;
DataInputStream in=new DataInputStream(System.in);
System.out.println("Enter the command to execute on server : ");
cmd=in.readLine();
out.println(cmd);
}
catch(Exception e)
{
System.out.println(e);
}
}
}

SERVER:

import java.io.*;
import java.net.*;
public class remserver
{
public static void main(String args[])throws IOException
{
ServerSocket ss=new ServerSocket(8081);
Socket s=ss.accept();
String cmd;
BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
cmd=in.readLine();
try
{
Runtime r=Runtime.getRuntime();
Process a=r.exec(cmd);
System.out.println("Executing command : "+cmd);
}
catch(Exception e)
{
System.out.println("Error"+e);
}
s.close();
}
}

OUTPUT:
C:\jdk1.3\bin>javac remclient.java
Note: remclient.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>javac remserver.java

C:\jdk1.3\bin>java remserver

2nd

C:\jdk1.3\bin>java remclient
Enter the command to execute on server :
notepad

C:\jdk1.3\bin>

1st

C:\jdk1.3\bin>java remserver
Executing command : notepad

C:\jdk1.3\bin>
:

WINDOWS SOCKET PROGRAMMING


[ Simple chat using TCP ]
AIM:

To create a simple chat program using TCP socket.

ALGORITHM:

CLIENT:

1. Start , import all the necessary packages.

2. Create a socket with server IP address.

3. Send & receive message using input and output stream of socket.

4. Close the socket and stop.

SERVER:

1. Start and import all the necessary packages.

2. Create a server socket.

3. Create a socket for client and server and accept client connection.

4. Send and receive messages using input and output streams.

5. Close the socket and stop.

PROGRAM:

CLIENT:

import java.io.*;
import java.net.*;
public class wnd1client
{
public static void main(String args[])throws IOException
{
try
{
String st;
Socket s=new Socket("127.0.0.1",8081);
do
{
BufferedReader in=new BufferedReader(new
InputStreamReader(s.getInputStream()));
DataInputStream ina=new DataInputStream(System.in);
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
System.out.println("Enter the data send to server : ");
st=ina.readLine();
out.println(st);
String ss=in.readLine();
System.out.println("From server : "+ss);
}
while(!st.equalsIgnoreCase("End"));
}
catch(Exception e)
{
System.out.println(e);
}
}
}

SERVER:

import java.io.*;
import java.net.*;
public class wnd1server
{
public static void main(String args[])throws IOException
{
try
{
String c;
ServerSocket ss=new ServerSocket(8081);
Socket s=ss.accept();
do
{
BufferedReader in=new BufferedReader(new
InputStreamReader(s.getInputStream()));
DataInputStream ina=new DataInputStream(System.in);
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
c=in.readLine();
System.out.println("From client : "+c);
System.out.println("Enter the data to send to client : ");
String st=ina.readLine();
out.println(st);
}
while(!c.equalsIgnoreCase("End"));
}
catch(Exception e)
{
System.out.println(e);
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac wnd1client.java
Note: wnd1client.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>javac wnd1server.java
Note: wnd1server.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>java wnd1server

2nd

C:\jdk1.3\bin>java wnd1client
Enter the data send to server :
request
From server : response
Enter the data send to server :

C:\jdk1.3\bin>

1st
C:\jdk1.3\bin>java wnd1server
From client : request
Enter the data to send to client :
response

C:\jdk1.3\bin>

EX.NO:5
DATE :

WINDOWS SOCKET PROGRAMMING


[ Simple chat using UDP ]
AIM:

To create a simple chat program using UDP socket.

ALGORITHM:

CLIENT:

1. Start and import all the necessary packages.

2. Get data from user and convert that data into datagram packet.

3. Send & receive packets.

4. Close the socket and stop.

SERVER:

1. Start and import all the necessary packages.

2. Get data from user and put new data to socket.

3. Using send and receive method , send and receive packets.

4. Close the socket and stop.


PROGRAM:

CLIENT:

import java.io.*;
import java.net.*;
public class wnd2client
{
public static void main(String args[])
{
String se;
try
{
DatagramSocket s=new DatagramSocket();
do
{
System.out.println("Enter the data");
DataInputStream in=new DataInputStream(System.in);
InetAddress ipa=InetAddress.getByName("127.0.0.1");
byte[] sdata=new byte[1024];
byte[] rdata=new byte[1024];
se=in.readLine();
sdata=se.getBytes();
System.out.println("Hai "+se);
DatagramPacket spack=new DatagramPacket(sdata,sdata.length,ipa,9876);
s.send(spack);
DatagramPacket rpack=new DatagramPacket(rdata,rdata.length);
s.receive(rpack);
String modse=new String(rpack.getData());
System.out.println("From server : "+modse);
}
while(!se.equalsIgnoreCase("End"));
s.close();
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}

SERVER:
import java.io.*;
import java.net.*;
public class wnd2server
{
public static void main(String args[])throws IOException
{
DatagramSocket s=new DatagramSocket(9876);
byte[] sdata=new byte[1024];
byte[] rdata=new byte[1024];
String se;
try
{
do
{
DatagramPacket rpack=new DatagramPacket(rdata,rdata.length);
s.receive(rpack);
String sen=new String(rpack.getData());
System.out.println("Received from client : "+sen);
InetAddress ipa=rpack.getAddress();
System.out.println("Address"+ipa);
int port=rpack.getPort();
System.out.println("port"+port);
System.out.println("Enter the value to send");
DataInputStream in=new DataInputStream(System.in);
se=in.readLine();
sdata=se.getBytes();
DatagramPacket spack=new DatagramPacket(sdata,sdata.length,ipa,port);
s.send(spack);
}
while(!se.equalsIgnoreCase("End"));
s.close();
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
OUTPUT:

C:\jdk1.3\bin>javac wnd2client.java
Note: wnd2client.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>javac wnd2server.java
Note: wnd2server.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

C:\jdk1.3\bin>java wnd2server

2nd

C:\jdk1.3\bin>java wnd2client
Enter the data
hero
Hai hero
From server : 1234

C:\jdk1.3\bin>

1st

C:\jdk1.3\bin>java wnd2server
Received from client : hero
Addresslocalhost/127.0.0.1
port3041
Enter the value to send
1234

C:\jdk1.3\bin>

EX.NO:6
DATE :

TCP DATE / TIME SERVER

AIM:
To obtain the system date and time of server using TCP.

ALGORITHM:

CLIENT:

1. Start and import all the necessary packages.

2. Create a client side socket with server address.

3. Send date or time request to server.

4. Get response from socket and point the result.

4. Close the socket and stop.

SERVER:

1. Start and import all the necessary packages.

2. Create server socket and accept client.

3. Give response using Gregorian calendar.

4. Close the socket and stop.

PROGRAM:

CLIENT:

import java.io.*;
import java.net.*;
public class dtclient
{
public static void main(String args[])throws IOException
{
String rec;
String res;
try
{
Socket s=new Socket("127.0.0.1",8081);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedReader brl=new BufferedReader(new
InputStreamReader(s.getInputStream()));
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
do
{
rec=br.readLine();
pw.println(rec);
res=brl.readLine();
System.out.println(res);
}
while(!rec.equalsIgnoreCase("End"));
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
}

SERVER:

import java.io.*;
import java.net.*;
import java.util.*;
public class dtserver
{
public static void main(String args[])throws IOException
{
try
{
String com;
ServerSocket ss=new ServerSocket(8081);
Socket s=ss.accept();
System.out.println("Connected");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
do
{
com=br.readLine();
System.out.println(com);
if(com.equalsIgnoreCase("Date"))
{
GregorianCalendar c=new GregorianCalendar();
pw.println(c.get(Calendar.DATE)+"/"+(c.get(Calendar.MONTH)+"/"+
(c.get(Calendar.YEAR))));
}
else if(com.equalsIgnoreCase("Time"))
{
GregorianCalendar t=new GregorianCalendar();
t.setTime(new Date());
pw.println(t.get(Calendar.HOUR)+"/"+(t.get(Calendar.MINUTE)+"/"+
(t.get(Calendar.SECOND))));
}
else
{
pw.println("Wrong");
}
}
while(!com.equalsIgnoreCase("End"));
}
catch(Exception e)
{
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac dtclient.java

C:\jdk1.3\bin>javac dtserver.java

C:\jdk1.3\bin>java dtserver

2nd
C:\jdk1.3\bin>java dtclient
date
16/8/2006
time
11/43/57
end
Wrong

C:\jdk1.3\bin>

1st

C:\jdk1.3\bin>java dtserver
Connected
date
time
end

C:\jdk1.3\bin>

EX.NO:7
DATE :

REMOTE METHOD INVOCATION

AIM:

To invoke a remote method on a server by a client that located on another machine.

ALGORITHM:

1. Start the program.

2. Create the remote interface inorder to establish connection.

3. Create a client and server program.

4. Execute the interface coding.


5. Execeute the interface implementation coding inorder to implement it.

6. Execute server program at server side.

7. Execute client program at client side.

8. Stop the program.

PROGRAM:
CLIENT:

import java.io.*;
import java.rmi.*;
public class rmiclient
{
public static void main(String args[])
{
try
{
String URL="rmi://"+args[0]+"/server";
inter vi=(inter)Naming.lookup(URL);
System.out.println("The entered number is "+args[1]);
int d=Integer.parseInt(args[1]);
int result=vi.even(d);
System.out.println("The even number of given position is "+result);
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
}

SERVER:

import java.io.*;
import java.net.*;
import java.rmi.*;
public class rmiserver
{
public static void main(String args[])
{
try
{
imp r=new imp();
Naming.rebind("server",r);
}
catch(Exception e)
{
System.out.println("Exception"+e);
}
}
}

INTERFACE:

import java.rmi.*;
public interface inter extends Remote
{
int even(int num)throws RemoteException;
}

IMPLEMAENTATION:

import java.rmi.*;
import java.rmi.server.*;
public class imp extends UnicastRemoteObject implements inter
{
public imp() throws RemoteException
{
super();
}
public int even(int num)throws RemoteException
{
int i,c=0;
System.out.println("The number is "+num);
if(num==0)
return 1;
else
{
for(i=num;i>=1;i--)
{
c=c+2;
}
return c;
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac imp.java

C:\jdk1.3\bin>javac inter.java

C:\jdk1.3\bin>javac rmiclient.java

C:\jdk1.3\bin>javac rmiserver.java

C:\jdk1.3\bin>rmic imp

C:\jdk1.3\bin>start rmiregistry

C:\jdk1.3\bin>java rmiserver

2nd

C:\jdk1.3\bin>java rmiclient 127.0.0.1 12


The entered number is 12
The even number of given position is 24

C:\jdk1.3\bin>

1st

C:\jdk1.3\bin>java rmiserver
The number is 12

C:\jdk1.3\bin>

EX.NO:7
DATE :
REMOTE METHOD INVOCATION

AIM:

To invoke a remote method on a server by a client that located on another machine.

ALGORITHM:

1. Start the program.

2. Create the remote interface inorder to establish connection.

3. Create a client and server program.

4. Execute the interface coding.

5. Execeute the interface implementation coding inorder to implement it.

6. Execute server program at server side.

7. Execute client program at client side.

8. Stop the program.

PROGRAM:
CLIENT:

import java.io.*;
import java.rmi.*;
public class rmiclient
{
public static void main(String args[])
{
try
{
String URL="rmi://"+args[0]+"/server";
inter vi=(inter)Naming.lookup(URL);
System.out.println("The entered number is "+args[1]);
int d=Integer.parseInt(args[1]);
int result=vi.even(d);
System.out.println("The even number of given position is "+result);
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
}

SERVER:

import java.io.*;
import java.net.*;
import java.rmi.*;
public class rmiserver
{
public static void main(String args[])
{
try
{
imp r=new imp();
Naming.rebind("server",r);
}
catch(Exception e)
{
System.out.println("Exception"+e);
}
}
}

INTERFACE:

import java.rmi.*;
public interface inter extends Remote
{
int even(int num)throws RemoteException;
}

IMPLEMAENTATION:
import java.rmi.*;
import java.rmi.server.*;
public class imp extends UnicastRemoteObject implements inter
{
public imp() throws RemoteException
{
super();
}
public int even(int num)throws RemoteException
{
int i,c=0;
System.out.println("The number is "+num);
if(num==0)
return 1;
else
{
for(i=num;i>=1;i--)
{
c=c+2;
}
return c;
}
}
}

OUTPUT:

C:\jdk1.3\bin>javac imp.java

C:\jdk1.3\bin>javac inter.java

C:\jdk1.3\bin>javac rmiclient.java

C:\jdk1.3\bin>javac rmiserver.java

C:\jdk1.3\bin>rmic imp

C:\jdk1.3\bin>start rmiregistry

C:\jdk1.3\bin>java rmiserver
2nd

C:\jdk1.3\bin>java rmiclient 127.0.0.1 12


The entered number is 12
The even number of given position is 24

C:\jdk1.3\bin>

1st

C:\jdk1.3\bin>java rmiserver
The number is 12

C:\jdk1.3\bin>

S-ar putea să vă placă și