TFTP Server
import java.io.*;
import java.net.*;
public class TFTPserver extends Thread
{
static DatagramSocket ds;
static DatagramPacket inPacket,outPacket;
static byte[] buffer;
static int id=0;
static int port=2556;
public static void main(String args[]) throws IOException
{
try{
ds=new DatagramSocket(69);
}
catch(SocketException se){System.out.println("Unable to connect");
}
while(true)
{
buffer=new byte[512];
inPacket=new DatagramPacket(buffer,buffer.length);
ds.receive(inPacket);
InetAddress clientAddress=inPacket.getAddress();
int clientPort=inPacket.getPort();
System.out.println("Clientport:"+clientPort);
String messageIn=new String(inPacket.getData(),0,inPacket.getLength());
id++;
new ClientThread(clientAddress,clientPort,messageIn,id).start();
}
}
}
class ClientThread extends TFTPserver
{
int port,clientid;
DatagramSocket dse;
DatagramPacket dpe,dpk;
InetAddress ca;
File f;
String filename;
ClientThread(InetAddress x,int y,String z,int w)
{
ca=x;
try{
dse=new DatagramSocket(++(TFTPserver.port));}
catch(SocketException see)
{}
filename=z;
port=y;
clientid=w;
}
public void run()
{
while(true)
{
System.out.println("filename received"+filename);
f=new File(filename);
try
{
if(f.exists())
{
BufferedReader br=new BufferedReader(new FileReader(filename));
String str;
while((str=br.readLine())!=null)
{
System.out.println("Sending file data"+str);
dpe=new DatagramPacket(str.getBytes(),str.length(),ca,port);
dse.send(dpe);
}
str="sent";
dpe=new DatagramPacket(str.getBytes(),str.length(),ca,port);
dse.send(dpe);
}
}
catch(Exception e){}
try
{
byte[] buffer=new byte[512];
dpk=new DatagramPacket(buffer,buffer.length);
dse.receive(dpk);
filename=new String(dpk.getData(),0,dpk.getLength());
}
catch(IOException me){}
}
}
}
=================
TFTP Client
import java.io.*;
import java.net.*;
import java.util.*;
public class TFTPClient
{
static InetAddress host;
static DatagramSocket dss;
static DatagramPacket outPacket,inPacket;
static byte[] buffer;
static int port=69;
public static void main(String args[])
{
try
{
host=InetAddress.getByName("localhost");
}
catch(UnknownHostException uhe)
{
System.out.println("Host Not found");
}
try
{
dss=new DatagramSocket();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter file name should be received from server");
String str1,finput;
BufferedWriter bw;
while(!(str1=br.readLine()).equals("null"))
{
System.out.println("haiiiiiiii");
outPacket=new DatagramPacket(str1.getBytes(),str1.length(),host,port);
System.out.println("haiiiiiiiii");
dss.send(outPacket);
bw=new BufferedWriter(new FileWriter("kk.txt"));
System.out.println("Created fileinput stream");
do
{
System.out.println("Receiving file data");
buffer=new byte[512];
inPacket=new DatagramPacket(buffer,buffer.length);
dss.receive(inPacket);
System.out.println("Server Port="+inPacket.getPort());
finput=new String(inPacket.getData(),0,inPacket.getLength());
if(!(finput.equals("sent")))bw.write(finput,0,finput.length());
bw.newLine();
bw.flush();
}
while(!finput.equals("sent"));
port=inPacket.getPort();
System.out.println(port);
}
}
catch(Exception ie)
{}
}
}
Tuesday, July 28, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment