I just implemented both tcp and udp for sending some datagrams. When sending 10mb of those datagrams, the sending on udp is finished in 1 seconds and it cost me 3 extra mb in resends for packet loss.
With tcp it took 30 seconds at about 5 mb overhead.
Is this expected behavior, or did I probably mess up the tcp implementation somewhere?