The One with the Network Navigation
Building High-Performance Networking Applications
Software seldom lives in isolation. The same can be said, to a greater extent for system programs. Since these programs do not directly interact with the user, they rely on other software to give them input, read their output, and be told what to do. That “other software” often lives on the same machine, but just as often, that software runs elsewhere.
We have so far discussed how to transfer data to and from our applications and briefly looked at networking. This chapter focuses on that specific topic: networking. Be prepared to go deeply into the world of interconnected software!
In this chapter, we will go through the following topics:
- The fundamentals and the OSI layers
- Exploring the System.Net namespace (including the most used protocols)
- Working with System.Net.Sockets to have more control
- Asynchronous, non-blocking networking
- How to improve networking...