<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: UDP vs. TCP</title>
	<atom:link href="http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com</link>
	<description>Glenn Fiedler&#039;s Game Development Articles and Tutorials</description>
	<lastBuildDate>Fri, 11 May 2012 00:24:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-49096</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Fri, 11 May 2012 00:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-49096</guid>
		<description>Here are the best descriptions I&#039;ve found:
http://en.wikipedia.org/wiki/STUN
http://en.wikipedia.org/wiki/UDP_hole_punching
http://www.raknet.net/raknet/manual/natpunchthrough.html

(I don&#039;t typically implement my own NAT punchthrough -- working on consoles it is already provided. If I were developing code for PC or Mac I&#039;d licence some tech to do it, or go client/server with dedicated servers...)

cheers</description>
		<content:encoded><![CDATA[<p>Here are the best descriptions I&#8217;ve found:<br />
<a href="http://en.wikipedia.org/wiki/STUN" rel="nofollow">http://en.wikipedia.org/wiki/STUN</a><br />
<a href="http://en.wikipedia.org/wiki/UDP_hole_punching" rel="nofollow">http://en.wikipedia.org/wiki/UDP_hole_punching</a><br />
<a href="http://www.raknet.net/raknet/manual/natpunchthrough.html" rel="nofollow">http://www.raknet.net/raknet/manual/natpunchthrough.html</a></p>
<p>(I don&#8217;t typically implement my own NAT punchthrough &#8212; working on consoles it is already provided. If I were developing code for PC or Mac I&#8217;d licence some tech to do it, or go client/server with dedicated servers&#8230;)</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyler Millershaski</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-49085</link>
		<dc:creator>Tyler Millershaski</dc:creator>
		<pubDate>Thu, 10 May 2012 22:34:41 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-49085</guid>
		<description>I found this information very useful and informative. 

How does UDP get through routers without manually forwarding ports? I understand that it&#039;s not really the topic of discussion here, but I feel that someone here could provide a better explanation from a developer perspective, then most google searches provide.

Thank you.</description>
		<content:encoded><![CDATA[<p>I found this information very useful and informative. </p>
<p>How does UDP get through routers without manually forwarding ports? I understand that it&#8217;s not really the topic of discussion here, but I feel that someone here could provide a better explanation from a developer perspective, then most google searches provide.</p>
<p>Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-47889</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Fri, 04 May 2012 03:53:07 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-47889</guid>
		<description>Awesome info, thanks!</description>
		<content:encoded><![CDATA[<p>Awesome info, thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Wyatt</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-47850</link>
		<dc:creator>Patrick Wyatt</dc:creator>
		<pubDate>Thu, 03 May 2012 23:33:22 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-47850</guid>
		<description>TERA uses only TCP for network communications, which you can verify using WireShark -- it&#039;s not against the Terms of Service. Full disclosure: I helped publish TERA but didn&#039;t code the game itself.

And incidentally, as the Guild Wars programmer who wrote the client-&gt;server communication protocol, the server-&gt;server communication protocol, and the low-level network libraries (among other things), I want to caution folks about making assumptions about why we chose to use TCP for Guild Wars (or why Blizzard chose TCP for WoW). We didn&#039;t pick TCP for Guild Wars because it was unequivocally the best choice; it was a trade-off.

It probably warrants a blog article, but the reason Guild Wars uses TCP is that I felt the labor required to write a reliable transport layer on top of UDP would take too long: we&#039;d run out of money fooling around writing transport code instead of writing a game.

So I chose to write Guild Wars on top of TCP, and if it didn&#039;t work out I could rewrite the client transport layer to use UDP. Fortunately TCP worked well enough for client-&gt;server code.

But there is a big downside to TCP that I should mention beyond what Glenn talked about: you lose control of when connections terminate. So if a router fails-over in your datacenter, or if one of your bandwidth providers fails, you&#039;ll likely drop all your TCP connections traveling over that route. With UDP it&#039;s possible to just ignore the loss of connectivity, wait for routes to re-converge through a different router or bandwidth provider, and keep going.

So in short, Glenn knows what he&#039;s talking about!</description>
		<content:encoded><![CDATA[<p>TERA uses only TCP for network communications, which you can verify using WireShark &#8212; it&#8217;s not against the Terms of Service. Full disclosure: I helped publish TERA but didn&#8217;t code the game itself.</p>
<p>And incidentally, as the Guild Wars programmer who wrote the client-&gt;server communication protocol, the server-&gt;server communication protocol, and the low-level network libraries (among other things), I want to caution folks about making assumptions about why we chose to use TCP for Guild Wars (or why Blizzard chose TCP for WoW). We didn&#8217;t pick TCP for Guild Wars because it was unequivocally the best choice; it was a trade-off.</p>
<p>It probably warrants a blog article, but the reason Guild Wars uses TCP is that I felt the labor required to write a reliable transport layer on top of UDP would take too long: we&#8217;d run out of money fooling around writing transport code instead of writing a game.</p>
<p>So I chose to write Guild Wars on top of TCP, and if it didn&#8217;t work out I could rewrite the client transport layer to use UDP. Fortunately TCP worked well enough for client-&gt;server code.</p>
<p>But there is a big downside to TCP that I should mention beyond what Glenn talked about: you lose control of when connections terminate. So if a router fails-over in your datacenter, or if one of your bandwidth providers fails, you&#8217;ll likely drop all your TCP connections traveling over that route. With UDP it&#8217;s possible to just ignore the loss of connectivity, wait for routes to re-converge through a different router or bandwidth provider, and keep going.</p>
<p>So in short, Glenn knows what he&#8217;s talking about!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-46715</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 26 Apr 2012 22:59:56 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-46715</guid>
		<description>There&#039;s something I&#039;ve been wondering about for a while.

A hybrid Action-MMORPG called TERA Online is nearing release, complete with the tagline &quot;True Action Combat&quot;. I&#039;ve played in the public beta tests, and can personally attest to the legitimacy of the claim; the controls feel crisp and responsive. What&#039;s even more interesting is that it is one of the first &#039;action&#039; games to feature a persistent world, a la World of Warcraft, Guild Wars, and other more traditional MMORPGs. No lobbies, no rounds.

I did some googling, and it sounds like TERA uses both TCP and UDP to pull it off. Maybe I&#039;ll try capturing some packets with Wireshark later (after double-checking the ToS to make sure I can do so) and take a look, but in the meanwhile, any thoughts on this?</description>
		<content:encoded><![CDATA[<p>There&#8217;s something I&#8217;ve been wondering about for a while.</p>
<p>A hybrid Action-MMORPG called TERA Online is nearing release, complete with the tagline &#8220;True Action Combat&#8221;. I&#8217;ve played in the public beta tests, and can personally attest to the legitimacy of the claim; the controls feel crisp and responsive. What&#8217;s even more interesting is that it is one of the first &#8216;action&#8217; games to feature a persistent world, a la World of Warcraft, Guild Wars, and other more traditional MMORPGs. No lobbies, no rounds.</p>
<p>I did some googling, and it sounds like TERA uses both TCP and UDP to pull it off. Maybe I&#8217;ll try capturing some packets with Wireshark later (after double-checking the ToS to make sure I can do so) and take a look, but in the meanwhile, any thoughts on this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-44744</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Fri, 13 Apr 2012 17:18:15 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-44744</guid>
		<description>http://lmgtfy.com/?q=TCP</description>
		<content:encoded><![CDATA[<p><a href="http://lmgtfy.com/?q=TCP" rel="nofollow">http://lmgtfy.com/?q=TCP</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ssp</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-44726</link>
		<dc:creator>ssp</dc:creator>
		<pubDate>Fri, 13 Apr 2012 14:39:36 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-44726</guid>
		<description>Thanks Glenn.
Do you have any sample website to see how this is done.
Just to get an idea.

Thanks</description>
		<content:encoded><![CDATA[<p>Thanks Glenn.<br />
Do you have any sample website to see how this is done.<br />
Just to get an idea.</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-44643</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Fri, 13 Apr 2012 02:58:22 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-44643</guid>
		<description>I&#039;m sure TCP would be just fine for a card game</description>
		<content:encoded><![CDATA[<p>I&#8217;m sure TCP would be just fine for a card game</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ssp</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-44378</link>
		<dc:creator>ssp</dc:creator>
		<pubDate>Wed, 11 Apr 2012 15:39:08 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-44378</guid>
		<description>Hi Glenn,

I am new to online Game development and I am trying to develop an online card game using ASP.Net MVC. I was reading your article on UDP vs TCP and some of your comments. You have explained it well to get basics of how both works. I understand for some games UDP will be the best choice. I am thinking to use TCP for the card Game. Is it a right choice and do you have good pointer which can lead me to right path. 

Thanks and I appreciate your reply.
ssp</description>
		<content:encoded><![CDATA[<p>Hi Glenn,</p>
<p>I am new to online Game development and I am trying to develop an online card game using ASP.Net MVC. I was reading your article on UDP vs TCP and some of your comments. You have explained it well to get basics of how both works. I understand for some games UDP will be the best choice. I am thinking to use TCP for the card Game. Is it a right choice and do you have good pointer which can lead me to right path. </p>
<p>Thanks and I appreciate your reply.<br />
ssp</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/#comment-43396</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Tue, 03 Apr 2012 03:04:35 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.wordpress.com/?page_id=84#comment-43396</guid>
		<description>I don&#039;t understand what &quot;run against each other&quot; means</description>
		<content:encoded><![CDATA[<p>I don&#8217;t understand what &#8220;run against each other&#8221; means</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.263 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-11 03:27:06 -->

