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,
C# 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 ...
Get C# in a Nutshell 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.