true but only partially as during a temporarily lack of reliability, udp will be the first to suffer since it's just a best-effort protocol ( no resending in case of failure ). On the other hand tcp will still work even on low reliability connections.Reliability is up? Well, I'm glad you've started out by making an argument in favour of using UDP.
it is slower, but that was more obvious in the 80s where the lucky guys had a 33.3Kbps dialup. TCP cannot be as easily be spoofed as UDP. you need sequence numbers, you need to truly be a man in the middle ( router ) etc. On the other hand, UDP is trivially spoofed since there is no such thing as a connection and thus you can send whatever packets you want from whatever source address you want and guess what? the server will happily accept them. Unless of course you implement - through some kind of higher level wrapper - some basic security features, which ofcourse wouldn't be needed to be implemented if you used TCP in the first place because they are inherent in it.TCP sucks. It's inherently slower, since most routers prioritise UDP traffic. TCP/IP has (at least) 40 bytes of overhead per payload packet, compared to 28 for UDP/IP. TCP can be spoofed easily with a man-in-the-middle attack.
that's true and the guy had already mentioned in the begining that his game is an ORPG, so :pOh, sure, TCP is fine for MUDS, or whatever those crazy kids are calling their PBEM games these days.
well if he wants to go commercial he will want to be reliable and secure, but yes for really real-time communications udp is better as it is faster.Perhaps one doesn't need all of one's communication to be reliable, and would prefer to avoid the inherent overhead of TCP and the unavoidable overhead of invisible resends?
if you need asynchronous sockets, doesn't that alone make it more difficult ? with udp you just send packets to a port, with tcp you need to configure several more flagsTCP is far easier, since it deals with sequencing and reliability internally. That's why libraries like Raknet and more specifically Enet exist, to implement reliable UDP that's as simple to use as TCP.
for each communication service ( be it game or IM or anything else ) that you can name that has cheats that exploit the TCP protocol ( not to be confused with the GAME/service protocol ), i will name at least 3 ( initially i wanted to say 10 but i lowered the number because it's hard anyway to find many which use UDP ) which have cheats which exploit UDPCounterstrike? Y'all from the future? Time from an anecdote, from the Early Olden Days.
'Roger' was my original Netrek handle from the early 1990s. I changed it to 'Rogerborg' when I wrote a (cy)borg client that successfully hacked its way into the server, using (can you guess?) a man-in-the-middle attack on the TCP communication between client and server.
I wouldn't call it trivial, but it's not far off.
Any argument that a TCP communication can be authenticated, well... I'm in the middle. The slave client is going to authenticate it for me. The communication has to be encrypted to be secure from a MitM TCP attack, and if it is, then that makes it equally secure from UDP spoofing, doesn't it?
your turn now