Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Assignment #2

Similar presentations


Presentation on theme: "Programming Assignment #2"— Presentation transcript:

1 Programming Assignment #2
Implement a TCP analog for transferring Due Date: Monday October 29 at 11:55pm Hello everyone. Now I’m gonna introduce something about socket programming. First we will try to get a general idea about what socket is. Then we will introduce socket programming with Java and socket programming with Python. The corresponding reading material is the Section 2.7 in Chapter 2, and the project 1 description. Readings: Chapter 3 Project II Description CSci4211: Programming Assignment #2 1 1

2 CSci4211: Programming Assignment #2
What should we do? Implement a typical Client/Server model. Client sends a file to server, through a unreliable network layer. The source code of network layer has been provided. Server gets message from network layer. If the message is correct, write to a file. Stop & Wait is enough. GBN or SR is better! CSci4211: Programming Assignment #2 2

3 CSci4211: Programming Assignment #2
Why is it difficult? Unreliable network layer May drop your packet May change content of your packet May delay the packet Even your ACK can be lost on the way! CSci4211: Programming Assignment #2 3

4 CSci4211: Programming Assignment #2
Several Cases CSci4211: Programming Assignment #2 4

5 CSci4211: Programming Assignment #2
Several Cases CSci4211: Programming Assignment #2 5

6 CSci4211: Programming Assignment #2
How to handle it? Sequence number for dropped packets Timeout mechanism for lost packets Checksum for corrupted packets CSci4211: Programming Assignment #2 6

7 Things you may need to work on…
Socket Programming File Operation Timeout operation Examples have been provided. Checksum lib hashlib in Python MessageDigest in Java CSci4211: Programming Assignment #2 7

8 Things you may need to notice…
Start early! Things are worse this time. No code skeleton. Let me know if you have any questions anytime. Make your code east to read. More explanations may follow. CSci4211: Programming Assignment #2 8

9 CSci4211: Programming Assignment #2
Q&A CSci4211: Programming Assignment #2 9


Download ppt "Programming Assignment #2"

Similar presentations


Ads by Google