Sockets
El espacio de nombres System.Net.Sockets contiene una implementación administrada de la interfaz de Windows Sockets. Todas las demás clases de acceso a la red en el espacio de nombres System.Net se crean sobre esta implementación de sockets.
La clase Socket de .NET Framework es una versión de código administrado de los servicios de socket que proporciona la API de Winsock32. En la mayoría de los casos, los métodos de la clase Socket simplemente calculan referencias de datos en los equivalentes Win32 nativos y controlan las comprobaciones de seguridad necesarias.
La clase Socket admite dos modos básicos: sincrónico y asincrónico. En el modo sincrónico, las llamadas a funciones que realizan operaciones de red (como Send y Receive) esperan a que la operación concluya antes de devolver el control al programa desde el que se realiza la llamada. En el modo asincrónico, estas llamadas devuelven el control inmediatamente.