Chapter 34. System.Net.Sockets
The System.Net.Sockets
namespace classes
implement
standard Berkeley sockets APIs for
cross-process/cross-host communication. Sockets are low-level objects
(abstractions, really) that provide the foundation for most Internet
networking. A socket binds to a local address and port, and either
waits for a connection from a remote address or connects to a remote
address and exchanges data across the network. Two socket
implementations are made available in this namespace, TCP/IP and
UDP/IP. Most Internet applications, such as FTP clients and web
browsers, are built upon socket connections.
Although many system-level programmers feel a close kinship with
these types, .NET programmers are greatly encouraged to consider
using higher-level constructs, such as HTTP (see the
System.Net
namespace) or the
System.Runtime.Remoting
types, to facilitate
remote communications. If you need to work at the socket level,
consider using TcpClient
or
TcpListener
. These are high-level abstractions of
the socket API that support client and server functionality.
For more details regarding many of the options mentioned in this namespace, consult a low-level sockets reference, such as W. Richard Stevens’ Network Programming in the Unix Environment (Volumes 1 and 2) or TCP/IP Illustrated (Volumes 1, 2, and 3). Although the books were written for a Unix environment, .NET faithfully mirrors much, if not all, of the Berkeley sockets API (which originally came from Unix). Figure 34-1 ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.