Over the last twelve chapters we've considered a variety of peer-to-peer applications implemented on technologies such as Remoting, web services, and the .NET networking classes. Some used central coordinators while others relied on a simple discovery service. All of them required a substantial amount of custom programming, and they'll experience significant problems when faced with issues such as network address translation (NAT) and firewalls.
What if there was a way to avoid the work of infrastructure programming and only worry about coding application-specific logic? As shown in the last chapter, you can create collaborative applications that piggyback on Windows Messenger and Groove, but the former is limited in scope while the latter forces you to buy a specific product. An ideal solution would be a generic peer-to-peer programming platform, on top of which developers could create a wide variety of distributed applications.
If you're hoping that this chapter will present that ideal peer-to-peer platform, then you'll be at least somewhat disappointed. Intel's Peer-to-Peer Accelerator Kit is only a beginning, and it's still too early to determine whether this software will fall by the wayside or mature into a powerful, widely accepted platform. In the meantime, you have to choose between coding peer-to-peer applications the hard way or investing some time in learning an ambitious new component with an uncertain future.
This chapter introduces the Intel Peer-to-Peer Accelerator Kit and discusses its architecture. You'll learn how to modify the Talk .NET messaging application to use the toolkit and analyze the basic samples that Intel includes to see how they resemble, and differ from, the projects developed in this book.
As this book goes to print, the Intel Peer-to-Peer Accelerator Kit is no longer available from the Microsoft-supported GotDotNet website (http://www.gotdotnet.com).Whether this represents the end of the Intel Peer-to-Peer Accelerator Kit or the start of another toolkit is still uncertain. However, no matter what its ultimate fate will be, you can still use version 1.0 of the Peer-to-Peer Accelerator Kit to create peer-to-peer applications, and you can study the toolkit to learn more about peer-to-peer programming in general.You can even use the Intel Peer-to-Peer Accelerator Kit source code (provided in C#) when crafting your own peer-to-peer applications.