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 more control over
client-side HTTP or FTP operations
HttpListener for writing an
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
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).
Figure 14-1. Network ...