This chapter dove into threading intricacies and the heavy lifting you need to manage concurrent access with the coordination server. Many of these concepts are important for any type of application, but this chapter placed a special focus on the trade-offs and design decisions of Talk .NET so that you can develop a better idea of how to structure a peer-to-peer system. Of course, though we've taken Talk .NET through several stages in evolution, it probably isn't production-ready. To actually deploy it in the real world, you would need to spend much more time profiling and tweaking the code.
In the next chapter, we'll take peer-to-peer systems with Remoting in an entirely new direction and consider how to build a task manager for distributed computing.