CSE205 Introduction to Networking Project 1
CSE205 Introduction to Networking
Project 1
Large file transmission
How the work should be submitted?
SOFT COPY ONLY!
You must submit your work through ICE so that markers can run your codes during
marking.
Make sure your name (Last name SURNAME, eg. San ZHANG) and your student
ID on the cover page of your report.
Project requirements
This project aims at using some basic concepts of Python programming and network programming using Python (socket) to achieve a practical application. In the daily work and study, large file transmission is important and frequently used. Generally, we use QQ or Apply Airdrop to delivery very large files. I am sure you are interested in what happened inside. Lets try to develop our own large file transmission application!
First of all, you are encouraged to exploit UDP for this task as it is simple, fast and straightforward.
There are some other requirements and challenges:
A pair of apps including sender and receiver should be developed;
The transmitted file size should be over 100 MB;
Only os, socket, struct, hashlib, math, tqdm modules can be used for this project;
File check should be required after transmission;
You should define the file transmission protocol;
You can discuss and make a shared protocol between your classmates. However,
DO NOT copy codes directly. If you select to use a shared protocol, please indicate who are your partners. The codes using the same protocol will be tested together. OR, you can define a private protocol only for you. As one of the most important spirit of networking is sharing, you are encouraged to make a shared protocol. But, please REMEMBER, this project is an individual task, only the protocol can be shared;
You can try any function you want to enhance your app (optional). 1
Contribution to Overall Marks
10%
Submission Deadline
Fri. 25th Oct. 2019, 23:59
CSE205 Introduction to Networking Project 1
What should be submitted?
A development report (no more than 8 pages, single column, PDF format) including:
Introduction: project requirement (in your own language), background, literature review (try to find some papers or development reports of similar apps), what you did
Methodology: proposed ideas, protocols (using FSM or mind map), program flow chats
Implementation: steps of implementation, what difficulties you met and how to solve them.
Testing and results: testing plan and testing results (screenshot, curves)
Conclusion: what you did? Do you have a future plan to improve it?
Reference [IEEE format]
A pair of Python codes;
Please compress the report and codes to a ZIP file (not rar, not Kuaiya and not any
other formats please), the file name should be:
CSE205_P1_Last name_SURNAME.zip (eg. CSE205_P1_San_ZHANG.zip).
You are encouraged to use LaTeX to finish your report. The template is https://github.com/feimax/latex_template_for_xjtlu_eee . If you are still using MS
word, please refer to the PDF file in the LaTeX template.
2
Reviews
There are no reviews yet.