The Framework offers a variety of classes in the
System.Net.* namespaces for communicating via standard network protocols, such as HTTP, TCP/IP, and FTP. Here’s a summary of the key components:
WebClient façade class for simple download/upload operations via HTTP or FTP
WebResponse classes for low-level control over client-side HTTP or FTP operations
HttpClient for consuming HTTP web APIs and RESTful services
HttpListener for writing an HTTP server
SmtpClient for constructing and sending mail messages via SMTP
Dns for converting between domain names and addresses
Socket classes for direct access to the transport and network layers
These types are all part of .NET Standard 2.0, which means UWP applications can use them (unless you’re using an older version of UWP that doesn’t support .NET Standard 2.0). UWP apps or WinRT types for TCP and UDP communication in
Windows.Networking.Sockets, which we demonstrate in the final section in this chapter. These have the advantage of encouraging asynchronous programming.
The .NET types in this chapter are in the
Figure 16-1 illustrates the .NET networking types and the communication layers in which they reside. Most types reside in the transport layer or application layer. The transport layer defines basic protocols for sending and receiving bytes (TCP and UDP); the application layer defines ...