Using Python Socket network programming to design and implement a Large Efficient Flexible and Trusty (LEFT) Files Sharing program
Large: • Format: files with any format and folders (excluding hidden files and folders) • Size: single file is up to 500MB
Efficient: • Fast: the faster, the better • Automatic: the new files/folders and changed files/folders can be synchronized automatically
Flexible: • The IP addresses of peers should be set as an argument (only two peers) • Resume from interruption
Trusty: • No Error for any files
Application layer protocol: Design own protocol. Any existed mature application protocols, such as HTTP and FTP are not allowed to be used.
Transport layer protocol: • TCP;
Architecture: • C/S; or P2P; or Mixed.
Port number: • Any port between 20000 to 30000 can be used; • can use one or more ports.