If you *really* wanted a good grade, you'd implement *both* and chart the efficiencies under:
1. High bandwidth/low latency (e.g. LAN) vs Low bandwidth/high latency(e.g. dialup) bandwidth
... and ...
2. Small (1-20 byte) vs large (512 byte - 1K) payloads
It's not necessarily as much work as it might sound like.
And you'd probably come up with a cleaner design by figuring out how to "factor out" the "window-size" protocol from the rest of your send/receive code.
Please consider it!
PS:
Refer to Stevens (Unix Network Programming) and Tanenbaum (Computer Networks, 3rd Ed), too. They've both got some interesting "tips" on flow control issues!
Last edited by paulsm4; 10-24-2005 at 04:20 PM.
|