<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx</link><description>How do I detect when the other side of a TCP connection has gone away? Does TCP keep-alive take care of this for me? Although we take it for granted that change can be quickly detected for closely connected components, it turns out to be surprisingly</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Interesting Finds: December 12, 2007</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6747735</link><pubDate>Wed, 12 Dec 2007 18:11:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6747735</guid><dc:creator>Jason Haley</dc:creator><description /></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6748877</link><pubDate>Wed, 12 Dec 2007 20:20:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6748877</guid><dc:creator>Yair Zadik</dc:creator><description>&lt;p&gt;Is there any easy way to get to the underlying TCP stream and change the keep-alive to something shorter like 1 minute, assuming you're willing to pay for the extra network traffic and processing time?&lt;/p&gt;
&lt;p&gt;Is this something that could be done in a custom binding?&lt;/p&gt;</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6750229</link><pubDate>Wed, 12 Dec 2007 22:25:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6750229</guid><dc:creator>Sean</dc:creator><description>&lt;p&gt;Shy Cohen at MSFT suggested to use reliable session: &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=289842&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=289842&amp;amp;SiteID=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are there problems with this solution?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6751107</link><pubDate>Thu, 13 Dec 2007 00:02:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6751107</guid><dc:creator>Nicholas Allen</dc:creator><description>&lt;p&gt;Hi Yair,&lt;/p&gt;
&lt;p&gt;Controlling the keep-alive is a socket option and there's no way to get at the socket held by the TCP transport.&lt;/p&gt;
</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6751141</link><pubDate>Thu, 13 Dec 2007 00:06:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6751141</guid><dc:creator>Nicholas Allen</dc:creator><description>&lt;p&gt;Hi Sean,&lt;/p&gt;
&lt;p&gt;There are a couple ways to get keep alives with just the components that ship in the box but you generally have to pay something in return for the convenience. &amp;nbsp;Reliable messaging is a very heavy protocol if you just want a heartbeat so you'll pay in terms of latency and throughput for the extra features you're not using.&lt;/p&gt;
</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6754397</link><pubDate>Thu, 13 Dec 2007 05:55:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6754397</guid><dc:creator>Michael Swart</dc:creator><description>&lt;p&gt;Interestingly enough, I implemented the heartbeat model for a project based on WCF. We were tasked with creating a seemless offline system. Luckily, in my scenario, we have a series of services so creating a new service with required heartbeat contract was very simple. A background manager is used to handle subscriptions and send out call backs. That said, there seem to be many corner cases to watch out for when implementing this method. &lt;/p&gt;
&lt;p&gt;Maybe there is a better way to implement this model, but the code we have written works just fine.&lt;/p&gt;</description></item><item><title>Resolving Conflicts in Serialization</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6754717</link><pubDate>Thu, 13 Dec 2007 06:43:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6754717</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><description>&lt;p&gt;DataContractSerializer supports multiple serialization mechanisms. If more than one serialization mechanism&lt;/p&gt;
</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6767197</link><pubDate>Fri, 14 Dec 2007 06:24:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6767197</guid><dc:creator>Sean</dc:creator><description>&lt;p&gt;Thanks Nicholas for quick reply!&lt;/p&gt;
&lt;p&gt;You mentioned there are a couple ways to get keep alives with just the components that ship in the box. &amp;nbsp;It seems to me in a duplex connection, channel faults when the other side is down or throws an exception. Is this an alternative to get keep alive?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;</description></item><item><title>re: TCP Keep Alive</title><link>http://blogs.msdn.com/drnick/archive/2007/12/12/tcp-keep-alive.aspx#6818759</link><pubDate>Thu, 20 Dec 2007 19:47:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6818759</guid><dc:creator>Nicholas Allen</dc:creator><description>&lt;p&gt;Hi Sean,&lt;/p&gt;
&lt;p&gt;Any configuration that keeps a continuously pending IO will allow you to detect a disconnection. &amp;nbsp;An ordinary duplex connection won't do this but if you have a callback contract so that there is a local listener, then you'll be able to detect when the connection is dropped.&lt;/p&gt;
</description></item></channel></rss>