<?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: Peer to peer networking using Windows Communication Foundation (WCF) Peer Channels and the Peer Mesh (C# .Net)</title>
	<atom:link href="http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/</link>
	<description>closure</description>
	<lastBuildDate>Fri, 27 Aug 2010 15:09:43 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ferdz</title>
		<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/comment-page-1/#comment-777</link>
		<dc:creator>Ferdz</dc:creator>
		<pubDate>Mon, 05 Apr 2010 07:26:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/#comment-777</guid>
		<description>hi, Do you sample code on how to transfer file using wcf p2p?  Would greatly appreciate it.

Thanks</description>
		<content:encoded><![CDATA[<p>hi, Do you sample code on how to transfer file using wcf p2p?  Would greatly appreciate it.</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Potter</title>
		<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/comment-page-1/#comment-633</link>
		<dc:creator>Simon Potter</dc:creator>
		<pubDate>Thu, 17 Sep 2009 16:34:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/#comment-633</guid>
		<description>Hi David,
I have found a couple of hairy problems with your solution.
1. The use of delegates and events in this manner opens a known (and painful) memory leak that your solution doesn&#039;t allow to be plugged. (you know the one i mean...)
2. The reconnect design you use is both unstable when dealing with several clients (say 2 seconds per connection, 15 cliens and the service won&#039;t start [30 strat rule for windows]). you can get round this by triggering the recover reconnect asynchronously, but his opens mesh stability issues, and nothing can successfully connect while the process is taking place.

I have written a stable and safe alternative, feel free to take a look at my blog for more info.
http://simonsdev.blogspot.com/2009/09/c-wcf-peer-to-peer-solution.html

I have got a straight p2p solution as well, but as you know it won&#039;t run on server 03 which is a shame. (will post the modifications for the p2p soon).</description>
		<content:encoded><![CDATA[<p>Hi David,<br />
I have found a couple of hairy problems with your solution.<br />
1. The use of delegates and events in this manner opens a known (and painful) memory leak that your solution doesn&#8217;t allow to be plugged. (you know the one i mean&#8230;)<br />
2. The reconnect design you use is both unstable when dealing with several clients (say 2 seconds per connection, 15 cliens and the service won&#8217;t start [30 strat rule for windows]). you can get round this by triggering the recover reconnect asynchronously, but his opens mesh stability issues, and nothing can successfully connect while the process is taking place.</p>
<p>I have written a stable and safe alternative, feel free to take a look at my blog for more info.<br />
<a href="http://simonsdev.blogspot.com/2009/09/c-wcf-peer-to-peer-solution.html" rel="nofollow">http://simonsdev.blogspot.com/2009/09/c-wcf-peer-to-peer-solution.html</a></p>
<p>I have got a straight p2p solution as well, but as you know it won&#8217;t run on server 03 which is a shame. (will post the modifications for the p2p soon).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/comment-page-1/#comment-515</link>
		<dc:creator>david</dc:creator>
		<pubDate>Tue, 14 Apr 2009 15:45:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/#comment-515</guid>
		<description>You&#039;re going to have to be a bit more specific regarding your actual issue.

Do your peers always discover each other and then vanish over time and start to loose communication?

Do they sometimes fail to make the initial connection?

It&#039;s probably useful to understand exactly how the Peer Name Resolution Protocol works before trying to decipher the problem.

The very simple gist is, that the Peer Resolver keeps a glorified list of the nodes in a mesh (acting as a registration server).  Those nodes then &quot;check in&quot; with the registration server periodically.  That way, when new nodes join the mesh, they get given a list of their nearest neighbours to communicate with.

If the nodes don&#039;t check in after a configurable time out (I tend to use ten minutes) they get removed from the registration database.  This doesn&#039;t always mean that they&#039;re no longer in the mesh however (there isn&#039;t REALLY a concept of &quot;online&quot; in a peer mesh, it&#039;s difficult to define) as they could have lost connectivity to the resolver yet still be accessible to other nodes.  

I&#039;ve found when this happens that the &quot;missing&quot; peers tend to correct themselves if you leave them as they&#039;ll attempt to re-register with the resolver.

The other scenario that I&#039;ve seen is that the peer resolver crashes (for whatever reason) and is restarted.  If you have no mechanism to persist the registration states in the resolver, the registration database will effectively be reset until the peers re-register with the resolver.  If this happens you&#039;ll find new nodes struggle to join the mesh until the existing nodes have started to re-register and share their registration databases with the resolver.

I&#039;ve only ever used a custom resolver so I&#039;m not sure how your mileage may vary with the resolver built in to Vista and Server 2008.</description>
		<content:encoded><![CDATA[<p>You&#8217;re going to have to be a bit more specific regarding your actual issue.</p>
<p>Do your peers always discover each other and then vanish over time and start to loose communication?</p>
<p>Do they sometimes fail to make the initial connection?</p>
<p>It&#8217;s probably useful to understand exactly how the Peer Name Resolution Protocol works before trying to decipher the problem.</p>
<p>The very simple gist is, that the Peer Resolver keeps a glorified list of the nodes in a mesh (acting as a registration server).  Those nodes then &#8220;check in&#8221; with the registration server periodically.  That way, when new nodes join the mesh, they get given a list of their nearest neighbours to communicate with.</p>
<p>If the nodes don&#8217;t check in after a configurable time out (I tend to use ten minutes) they get removed from the registration database.  This doesn&#8217;t always mean that they&#8217;re no longer in the mesh however (there isn&#8217;t REALLY a concept of &#8220;online&#8221; in a peer mesh, it&#8217;s difficult to define) as they could have lost connectivity to the resolver yet still be accessible to other nodes.  </p>
<p>I&#8217;ve found when this happens that the &#8220;missing&#8221; peers tend to correct themselves if you leave them as they&#8217;ll attempt to re-register with the resolver.</p>
<p>The other scenario that I&#8217;ve seen is that the peer resolver crashes (for whatever reason) and is restarted.  If you have no mechanism to persist the registration states in the resolver, the registration database will effectively be reset until the peers re-register with the resolver.  If this happens you&#8217;ll find new nodes struggle to join the mesh until the existing nodes have started to re-register and share their registration databases with the resolver.</p>
<p>I&#8217;ve only ever used a custom resolver so I&#8217;m not sure how your mileage may vary with the resolver built in to Vista and Server 2008.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Telmo</title>
		<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/comment-page-1/#comment-514</link>
		<dc:creator>Telmo</dc:creator>
		<pubDate>Tue, 14 Apr 2009 15:21:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/#comment-514</guid>
		<description>Hello.
I was trying to use the PNRP for the peer resolver but i am experiencing some troubles talking to my peers. Did you ever come across problems with PNRP? Sometimes everything is ok, some other times... 
Tnks you for any input..
Telmo Sá</description>
		<content:encoded><![CDATA[<p>Hello.<br />
I was trying to use the PNRP for the peer resolver but i am experiencing some troubles talking to my peers. Did you ever come across problems with PNRP? Sometimes everything is ok, some other times&#8230;<br />
Tnks you for any input..<br />
Telmo Sá</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Avasol</title>
		<link>http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/comment-page-1/#comment-491</link>
		<dc:creator>Thomas Avasol</dc:creator>
		<pubDate>Sat, 14 Mar 2009 22:10:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidwhitney.co.uk/content/blog/index.php/2008/11/17/peer-to-peer-networking-using-windows-communication-foundation-wcf-peer-channels-and-the-peer-mesh-c-net/#comment-491</guid>
		<description>Hi David. Absolutely fantastic example. Not only does it work without a hitch, more importantly it&#039;s a great beginner&#039;s guide for p2p applications written in WCF. Your code is also well documented and easy to follow. Highest marks. 

-Thomas, CEO Aurathon.com</description>
		<content:encoded><![CDATA[<p>Hi David. Absolutely fantastic example. Not only does it work without a hitch, more importantly it&#8217;s a great beginner&#8217;s guide for p2p applications written in WCF. Your code is also well documented and easy to follow. Highest marks. </p>
<p>-Thomas, CEO Aurathon.com</p>
]]></content:encoded>
	</item>
</channel>
</rss>
