Skip to content

Commit 10b08a3

Browse files
author
Francesco Mecatti
committed
Added protocol specification
1 parent 848399d commit 10b08a3

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
"""
22
Server-side protocol implementation.
3+
This multi threading server is able to manage multiple connections.
34
"""

README.md

+31
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# Python Socket FileServer
22

3+
4+
Python implementation of a custom protocol to send and receive files (binary data) over the network.
5+
6+
For protocol specification see [protocol diagrams](#protocol-diagrams) and [implementation](/ProtocolImplementation/Protocol.py).
7+
8+
This is an application-layer protocol, carried by a TCP connection, that aims to turn a simple socket stream into a reliable way to transfer long files by sending start, end and control bytes, as well as defining and handling different types of error.
9+
10+
This multi threading server is able to manage multiple connections.
11+
12+
## Table of Contents
13+
14+
* [Usage](#usage)
15+
* [Protocol Diagrams](#protocol-diagrams)
16+
* [Authors](#authors)
17+
18+
19+
## Usage
20+
21+
Server-side:
22+
run `py server.py`
23+
24+
Client-side (one or multiple clients):
25+
run `py client.py`
26+
27+
## Protocol diagrams
28+
329
![Protocol Input Output](Protocol_Input_Output.png)
30+
431
![Protocol Upload Download](Protocol_Upload_Download.png)
532

33+
34+
## Authors
35+
36+
- Francesco Mecatti - I.T.I.S Enrico Fermi - Italy, Modena

0 commit comments

Comments
 (0)