diff --git a/fileTransfer/FTClient.class b/fileTransfer/FTClient.class new file mode 100644 index 0000000000000000000000000000000000000000..208042475ace482b2168700aa6542fc8b06b8b5b Binary files /dev/null and b/fileTransfer/FTClient.class differ diff --git a/fileTransfer/FTClient.java b/fileTransfer/FTClient.java new file mode 100644 index 0000000000000000000000000000000000000000..504fb10b1c780b6ba1d44731a5eb419174fa19ca --- /dev/null +++ b/fileTransfer/FTClient.java @@ -0,0 +1,50 @@ +import java.io.*; +import java.net.*; +public class FTClient { + public static void main(String[] args) throws IOException { + System.out.println(args[0] + " " + args[1] + " " + args[2] + " " + args[3]); + if (args[1].equals("put")) { + File inputFile = new File(args[2]); + FileInputStream in = new FileInputStream(inputFile); + try { + Socket socket = new Socket(args[0], 4323); + OutputStream out = socket.getOutputStream(); + out.write(("put" + " " + args[3] + " ").getBytes()); + byte[] buf = new byte[1000]; + int buflen; + while ((buflen = in.read(buf)) != -1) { + System.out.print("*"); + out.write(buf, 0, buflen); + } + out.close(); + } catch (Exception e) { + System.out.println("error" + e); + } + System.out.println(); in .close(); + + } + else if(args[1].equals("get")) { + File outputFile = new File(args[2]); + FileOutputStream outf = new FileOutputStream(outputFile); + try { + Socket socket = new Socket(args[0], 4323); + OutputStream out = socket.getOutputStream(); + InputStream in = socket.getInputStream(); + out.write(("get" + " " + args[3] + " ").getBytes()); + byte[] buf = new byte[1000]; + int buflen; + while ((buflen = in.read(buf)) != -1) { + System.out.print("*"); + outf.write(buf, 0, buflen); + } + out.close(); + in.close(); + } catch (Exception e) { + System.out.println("error" + e); + } + System.out.println(); + outf.close(); + } + else System.out.println("unrecognised command"); + } +} \ No newline at end of file diff --git a/fileTransfer/FTServer.class b/fileTransfer/FTServer.class new file mode 100644 index 0000000000000000000000000000000000000000..4fa2b944c4e286fa346c409140cd0b37d902b2e6 Binary files /dev/null and b/fileTransfer/FTServer.class differ diff --git a/fileTransfer/FTServer.java b/fileTransfer/FTServer.java new file mode 100644 index 0000000000000000000000000000000000000000..de67fc07b8d4556412c325182d3357462367c695 --- /dev/null +++ b/fileTransfer/FTServer.java @@ -0,0 +1,61 @@ +import java.io.*; +import java.net.*; +public class FTServer { + public static void main(String[] args) throws IOException { + try { + ServerSocket ss = new ServerSocket(4323); + for (;;) { + try { + System.out.println("waiting for connection"); + Socket client = ss.accept(); + System.out.println("connected"); + InputStream in = client.getInputStream(); + byte[] buf = new byte[1000]; + int buflen; + buflen = in.read(buf); + String firstBuffer = new String(buf, 0, buflen); + int firstSpace = firstBuffer.indexOf(" "); + String command = firstBuffer.substring(0, firstSpace); + System.out.println("command " + command); + if (command.equals("put")) { + int secondSpace = firstBuffer.indexOf(" ", firstSpace + 1); + String fileName = firstBuffer.substring(firstSpace + 1, secondSpace); + System.out.println("fileName " + fileName); + File outputFile = new File(fileName); + FileOutputStream out = new FileOutputStream(outputFile); + out.write(buf, secondSpace + 1, buflen - secondSpace - 1); + while ((buflen = in.read(buf)) != -1) { + System.out.print("*"); + out.write(buf, 0, buflen); + } + in.close(); + client.close(); + out.close(); + } + else if(command.equals("get")) { + int secondSpace = firstBuffer.indexOf(" ", firstSpace + 1); + String fileName = firstBuffer.substring(firstSpace + 1, secondSpace); + System.out.println("fileName " + fileName); + File inputFile = new File(fileName); + FileInputStream inf = new FileInputStream(inputFile); + OutputStream out = client.getOutputStream(); + while ((buflen = inf.read(buf)) != -1) { + System.out.print("*"); + out.write(buf, 0, buflen); + } + in.close(); + inf.close(); + client.close(); + out.close(); + } + else System.out.println("unrecognised command"); + } catch (Exception e) { + System.out.println("error " + e); + } + } + } catch (Exception e) { + System.out.println("error " + e); + } + System.out.println(); + } +} \ No newline at end of file