Chapter 14. Networking
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:
WebClientfaçade class for simple download/upload operations via HTTP or FTP
WebResponseclasses for more control over client-side HTTP or FTP operations
HttpListenerfor writing an HTTP server
SmtpClientfor constructing and sending mail messages via SMTP
Dnsfor converting between domain names and addresses
Socketclasses for direct access to the transport and network layers
The Framework supports primarily Internet-based protocols, although this doesn’t limit applicability to the Internet; protocols such as TCP/IP also dominate local area networks.
The types described in this chapter are defined mostly in the
System.Net.Sockets namespaces; however, many of
the examples also use types in
Figure 14-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 higher-level protocols designed for specific applications such as retrieving web pages (HTTP), transferring files (FTP), sending mail (SMTP), and converting between domain names and IP addresses (DNS).