I'm about to attempt to make a high bandwidth application that talks to both computers in the local lan as well as over the internet. UDP has become appealing due to it being stateless, and due to its multicast features for LANs.
It's come to my attention though, that I don't know how to handle a slow connection between two fast computers. Lets say computer A and computer B are infinitely fast. However, at some point in the network there is a bottleneck of 512kbit/s. What happens if you try to send more than the bottleneck allows? How does this differ from TCP?
Does the packet just get dropped, and you have to implement the error handling to both resend the packet and raise/decrease a limit of bandwidth you set yourself? Does what needs to be done change based on your operating system?