Then start using udp as soon as you figure out that you don’t need a certain feature of TCP. Moreover what usually the case is, is that you don’t need any of the features that tcp brings over udp.
If you structure your program like you should, replacing or adding udp-like stuff to it should be easy.
Back when dinosaurs still roamed the earth ppl might had to worry about that kind of thing. And even so who cares you have already indicated that you expect to have plenty of bandwidth. The unreal engine uses both udp and a tcp, so if the problem even existed; if epic can get away with it I’m pretty sure you can.
//edit having actually read the article you where referring to his numbers are very undefined at best.
[quote]UDP is an unreliable protocol. In practice, most packets that are sent will get through, but you’ll usually have around 1-5% packet loss, and occasionally you’ll get periods where no packets get through at all
[/quote]
if I would lose between 1-5% of my udp packages on avg and that it would be considered normal… it’s then time to take someone out back.
[quote]So if you have a 125ms ping, you will be waiting roughly 1/5th of a second for the packet data to be resent at best, and in worst case conditions you could be waiting up to half a second or more (consider what happens if the attempt to resend the packet fails to get through?) Fun times!
[/quote]
5 years or more ago 125 was considered a max number for allowing it to be considered playable, hell I have had better pings to American servers while connecting from Europe. 50-70 was typical 30-50 was good <30 great… etc. I’m not saying it’s not a valid problem, cause it is. But he brings it in a way that is kinda beefed up.
on the actual topic he simply said’s it’s complicated and points to a paper.
…reading the paper. Well actually you should(or at least the introduction), esp in the light of: [quote]I liked this solution, even if it doubles the packet sizes.
[/quote]
As the problem arises when you have a bottleneck along your path. I suppose Mr Jansen sums it up quite nicely: http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-10342
Hmm I almost forgot these days everyone has IM and other stuff running which already have open TCP connections. (and no you typically don’t have control over the whole network stack)
Other ppl raise good points btw too:
[quote]In network protocol design, be careful to optimize for the “normal” case, not the error cases. Think about how often a packet is actually dropped, and whether it is your own fault. Do you want to buy into a lot of protocol design (no matter how much fun that might be) to support the few users that are stuck on a low bandwidth connection?
[/quote]
‘twitch’ games(fast paces fps) aren’t played by soccer mom’s and though I’m not a demographic expert or trend watcher or whoever does that kind of stuff, I still have a strong feeling that isn’t going to change.
Actually just forget what I said and read this reply: http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-10808
[quote=“M2009,post:10,topic:33742”]
Most applications require around 5 ports to be opened and it’s not like complexity increases by the ports. Again, that being said, you can use one portnumber.