A chat program using socket programming (Python)
* The program should have an interface where a user can:
1) enter the IP address of the destination
2) select the protocol UPD or TCP
3) a text field to sent messages
4) list of simple emojis that can be sent
5) choose a file from the local directory and send it to your destination
in part 5 the file should be divided into segments (1000 bytes), and a sequence number should be assigned to each segment. each segment should be sent in a single packet. at the receiver, all the segments should be combined to form the complete file.
when TCP is selected, there should not be any lost packets and no out of order packet should arrive at the receiver (all packets should arrive in the correct order).
when UDP is selected packets can be lost and can change order.
the program should report how many packets are lost and how many changed order.
- (files from sizes 100KB to 100MB should be tried)
- Upload/download rate(bits/seconds) should also be reported.
* A report containing detailed information about the interface and all the used function should be prepared.
When UDP is closed you should add reliability at the application layer. (So it should handle packet loss and out of order packets)
and + comments on the code