[vworld-tech] Some resources for MMOG server development
Ben Garney
bgarney at purdue.edu
Sun Jan 18 23:11:11 PST 2004
Howdy,
My two bits:
TCP is great for streamed transfers of data where you don't care too
much about latency issues. Most file transfer falls under this. Telnet
sessions. Transactions - as TCP is reliable. TCP will scale to pretty
much any connection, large or small, though of course, it's not going to
be optimally efficient if you're in an odd case. (Too much overhead to
be really effective on 300 baud... and it can be a bit conservative if
you're running on a multigigabit link... maybe. These are minor nits.)
In the world of internet, TCP is the standard solution to getting data
from point A to B.
UDP is great if you need fine grained control over how data is actually
sent over the wire. TCP can stall for seconds if it encounters a hitch
or a dropped packet - if you're playing an FPS, this is unacceptable,
even if you'll get all the data in a burst once the missing piece
arrives. In UDP, all the transport layer does for you is maybe move the
packet from point A to point B. It's your job to figure out how to break
packets up (TCP will break the stream up as needed), how fast to send
them to avoid saturating the connection, and so forth. This is worth the
effort if you're doing a low latency application that is sending
discrete bits of data that don't necessarily need to be ordered.
I can give more examples/support to my points if you like, or cover
other areas. :)
Ben Garney
Brian Hook wrote:
>>stuff is glossed over; the advice is good (e.g. "Just don't bother
>>using TCP, TCP + UDP hybrid, etc - use someone else's like ENet"),
>>but with almost no explanation of why.
>>
>>
>
>And one more thing -- if someone wants to summarize what they feel are
>the non-controversial cogent points of TCP vs. UDP, I'll gladly take
>that information and add it to the article.
>
>Right now the biggest factor is that TCP stalls all traffic if
>anything comes out of order. It also does not support multichannel
>communication, so a single lost packet can back up a bunch of
>unrelated stuff. There are other issues with how it handles backoff
>and congestion control, but I don't think those are as important as
>the reliability mechanism causing problems.
>
>
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>vworld-tech mailing list
>vworld-tech at cubik.org
>http://lists.cubik.org/cgi-bin/mailman/listinfo/vworld-tech
>
>
More information about the vworld-tech
mailing list