I don't discuss that "multicast" is a technology offered by most of the operating systems (not specific of ".NET"), that developers need to be aware of, and this article could have been a good example.
But it was called "Client/server renderzvous on the LAN" (and for me, the "LAN" is not only for the .NET platform).
The article unfortunately included this statement:
// Send response (our guid, followed by serialized endpoint info)
this.listener.Send(this.response, this.response.Length, callerEndpoint);
And with .NET, this probably will be represented with a binary M$ representation on the callerEndpoint info collection, that I doubt it could be easily deserialized by other platforms (so it could be difficult to interoperate with it).
This article may become a bad reference for other developers, that may be "inspired" with it, and that will produce "closed" systems.
Now comes the moral of the tale: you can read the article to learn about multicast communications (and more?), but forget the final objective (= the title).
Finally, I don't want to judge the quantity of code of your examples.... I only want to say that standards allows development of open-source libraries (sometimes of great quality, very easy to use, and available for many computer languages, independly of the platform), and I hope that .NET platform applications & services will use the same standards.