<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Check out Q3 and Q4 in the GameDev.net "Multiplayer &amp; Network
Programming" Forum FAQ:  <a
 href="http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15">http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15</a><br>
<br>
The problem with TCP is summed up nicely in Q4:  <i>"...to make this
guarantee, TCP must suspend all packet delivery to the
receiving end, if one packet is lost, until that packet can be detected
as lost and re-sent."</i>  You can also check out this classic
multiplayer design article:  <a
 href="http://www.gamasutra.com/features/19990903/lincroft_05.htm">http://www.gamasutra.com/features/19990903/lincroft_05.htm</a>. 
The author is *very* against TCP.  Apparently the X-Wing vs. TIE
Fighter developers were seeing pings of up to 50 seconds using TCP.<br>
<br>
On the other hand, Q3 of GameDev's forum FAQ recommends TCP for
real-time strategy games, or UDP in "extreme" cases.  This makes me
more comfortable with using TCP, at least for early development, since
testing on my LAN shouldn't have any problems with dropped packets.<br>
<br>
The collective experience of the game development community seems to <i>lean
</i>towards UDP for most game development.  I'm not against using TCP,
but if I can find a solution that makes UDP equally easy, I'd like to
use that.<a
 href="http://www.gamasutra.com/features/19990903/lincroft_05.htm"></a><br>
<blockquote
 cite="mid60ed19d40610191047o4f76b120j3ba140c36d2fc18f@mail.gmail.com"
 type="cite">Really, truly, honestly, this doesn't make sense. You want
*both*
  <br>
reliability *and* guaranteed delivery order: that is precisely what
  <br>
TCP does. Why do you want to use anything else? If you don't want to
  <br>
reinvent the wheel, use TCP.
  <br>
  <br>
</blockquote>
<br>
</body>
</html>