Giter Club home page Giter Club logo

filetransmissionsystem's Introduction

File Transmission System

How to Use This System

How to run this system

To run this system, there are two executable classes in the "starter" package, which are "SenderStarter" class and "ReceiverStarter" class.

You should run the "SenderStarter" class first, then do not shut it down, run the "ReceiverStarter" class.

After that you will see the socket server and client is connected, which means the sender and receiver is connected.

Provided Commands

In this system, some commands are provided for sender and receiver.

For Sender

  1. send file1, file2, file3, ...

    Only the sender can send files. You can use command send + space + filenames. For each of the filename, they should be seperated by ",". Moreover, the name should begin from "src/". You can just put the file into the folder "src/testFiles/testSendDir/" then copy the "path from the content root" of this file. An example has been given below.

    send src/testFiles/testSendDir/video1.mp4, src/testFiles/testSendDir/video2.mp4

    In this example, a task would be created, and in this task, those 4 files would be sent concurrently.

For both Sender and Receiver

  1. tasks

    Both of the sender and receiver can query the task list by using the tasks command. Then they will be shown with a list of their task, including the task id, task status, file number and finished file number.

    There are 3 types of status in total:

    1. "ongoing"
    2. "suspended"
    3. "finished"
  2. query + space + task id

    Both of the sender and receiver can query the detailed information of a specific task by using this command. For example, query 1 command will show you the details about task 1, includes the status, finished bytes, progress and filename of each file transmission in this task.

  3. suspend + space + task id

    Both of the sender and receiver can suspend a task in "onging" status. For example, suspend 1 would suspend the task 1, which means all the file transmissions in task 1 would be suspended.

  4. resume + space + task id

    Both of the sender and receiver can resume a task in "suspended" status. For example, resume 1 would resume the task 1, which means all the file transmissions in task 1 would be resumed.

Where to Find the Downloaded files

The downloaded files can be found in the directory of "src/testFiles/testReceiveDir/"

Archetecture Analysis Based on SOLID Principles

filetransmissiondoc

filetransmissionsystem's People

Contributors

luca-0104 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.