Socket Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Implementa la interfaz de sockets de Berkeley.
public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
interface IDisposable
Public Class Socket
Implements IDisposable
- Herencia
-
Socket
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo se puede usar la Socket clase para enviar datos a un servidor HTTP, imprimiendo la respuesta ASCII a la salida estándar. En este ejemplo se bloquea el subproceso que realiza la llamada hasta que se recibe toda la página.
private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
socket.Connect(uri.Host, port);
// Send the request.
// For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = socket.Receive(responseBytes);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
Console.Out.Write(responseChars, 0, charCount);
}
}
En el ejemplo siguiente se muestra el mismo escenario HTTP GET, mediante las API asincrónicas basadas en tareas, al mismo tiempo que se reenvía a CancellationToken los métodos asincrónicos, lo que hace que se pueda cancelar toda la operación.
Tip
SocketLos métodos asincrónicos que no toman un valor normalmente devuelven un CancellationTokenTask, que se asigna en el montón. Las sobrecargas cancelables siempre ValueTaskse devuelven; su uso ayuda a reducir las asignaciones en código de alto rendimiento.
private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(uri.Host, port, cancellationToken);
// Send the request.
// For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
}
}
Comentarios
Para obtener más información sobre esta API, consulte Comentarios complementarios de api para Socket.
Constructores
| Nombre | Description |
|---|---|
| Socket(AddressFamily, SocketType, ProtocolType) |
Inicializa una nueva instancia de la Socket clase utilizando la familia de direcciones, el tipo de socket y el protocolo especificados. |
| Socket(SocketInformation) |
Inicializa una nueva instancia de la Socket clase utilizando el valor especificado devuelto de DuplicateAndClose(Int32). |
| Socket(SocketType, ProtocolType) |
Inicializa una nueva instancia de la Socket clase utilizando el tipo de socket y el protocolo especificados. Si el sistema operativo admite IPv6, este constructor crea un socket de modo dual; de lo contrario, crea un socket IPv4. |
Propiedades
| Nombre | Description |
|---|---|
| AddressFamily |
Obtiene la familia de direcciones de .Socket |
| Available |
Obtiene la cantidad de datos que se han recibido de la red y está disponible para leerse. |
| Blocking |
Obtiene o establece un valor que indica si está Socket en modo de bloqueo. |
| Connected |
Obtiene un valor que indica si está Socket conectado a un host remoto a partir de la última Send operación o Receive . |
| DontFragment |
Obtiene o establece un valor que especifica si Socket permite fragmentar los datagramas del Protocolo de Internet (IP). |
| DualMode |
Obtiene o establece un valor que especifica si Socket es un socket en modo dual que se usa para IPv4 e IPv6. |
| EnableBroadcast |
Obtiene o establece un Boolean valor que especifica si Socket puede enviar paquetes de difusión. |
| ExclusiveAddressUse |
Obtiene o establece un valor que indica si Socket solo permite que un proceso se enlace a un puerto. |
| Handle |
Obtiene el identificador del sistema operativo para .Socket |
| IsBound |
Obtiene un valor que indica si está Socket enlazado a un puerto local específico. |
| LingerState |
Obtiene o establece un valor que especifica si retrasará el Socket cierre de un socket en un intento de enviar todos los datos pendientes. |
| LocalEndPoint |
Obtiene el punto de conexión local. |
| MulticastLoopback |
Obtiene o establece un valor que especifica si los paquetes de multidifusión salientes se entregan a la aplicación de envío. |
| NoDelay |
Obtiene o establece un Boolean valor que especifica si la secuencia Socket usa el algoritmo nagle. |
| OSSupportsIPv4 |
Indica si el sistema operativo subyacente y los adaptadores de red admiten el Protocolo de Internet versión 4 (IPv4). |
| OSSupportsIPv6 |
Indica si el sistema operativo subyacente y los adaptadores de red admiten el protocolo de Internet versión 6 (IPv6). |
| ProtocolType |
Obtiene el tipo de protocolo de Socket. |
| ReceiveBufferSize |
Obtiene o establece un valor que especifica el tamaño del búfer de recepción de Socket. |
| ReceiveTimeout |
Obtiene o establece un valor que especifica la cantidad de tiempo después de la cual se agotará el tiempo de espera de una llamada sincrónica Receive . |
| RemoteEndPoint |
Obtiene el punto de conexión remoto. |
| SendBufferSize |
Obtiene o establece un valor que especifica el tamaño del búfer de envío de Socket. |
| SendTimeout |
Obtiene o establece un valor que especifica la cantidad de tiempo después de la cual se agotará el tiempo de espera de una llamada sincrónica Send . |
| SocketType |
Obtiene el tipo de Socket. |
| SupportsIPv4 |
Obsoletos.
Obsoletos.
Obtiene un valor que indica si la compatibilidad con IPv4 está disponible y habilitada en el host actual. |
| SupportsIPv6 |
Obsoletos.
Obsoletos.
Obtiene un valor que indica si framework admite IPv6 para determinados miembros obsoletos Dns . |
| Ttl |
Obtiene o establece un valor que especifica el valor de período de vida (TTL) de los paquetes de Protocolo de Internet (IP) enviados por .Socket |
| UseOnlyOverlappedIO |
Obtiene o establece un valor que especifica si el socket solo debe usar el modo de E/S superpuesto. En .NET 5+ (incluidas las versiones de .NET Core), el valor siempre es |
Métodos
| Nombre | Description |
|---|---|
| Accept() |
Crea un nuevo Socket para una conexión recién creada. |
| AcceptAsync(SocketAsyncEventArgs) |
Comienza una operación asincrónica para aceptar un intento de conexión entrante. |
| BeginAccept(AsyncCallback, Object) |
Comienza una operación asincrónica para aceptar un intento de conexión entrante. |
| BeginAccept(Int32, AsyncCallback, Object) |
Comienza una operación asincrónica para aceptar un intento de conexión entrante y recibe el primer bloque de datos enviados por la aplicación cliente. |
| BeginAccept(Socket, Int32, AsyncCallback, Object) |
Comienza una operación asincrónica para aceptar un intento de conexión entrante de un socket especificado y recibe el primer bloque de datos enviados por la aplicación cliente. |
| BeginConnect(EndPoint, AsyncCallback, Object) |
Comienza una solicitud asincrónica para una conexión de host remoto. |
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Comienza una solicitud asincrónica para una conexión de host remoto. El host se especifica mediante un IPAddress número de puerto y . |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Comienza una solicitud asincrónica para una conexión de host remoto. El host se especifica mediante una IPAddress matriz y un número de puerto. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Comienza una solicitud asincrónica para una conexión de host remoto. El host se especifica mediante un nombre de host y un número de puerto. |
| BeginDisconnect(Boolean, AsyncCallback, Object) |
Comienza una solicitud asincrónica para desconectar de un punto de conexión remoto. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un dispositivo de red especificado. |
| BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Comienza a recibir de forma asincrónica el número especificado de bytes de datos en la ubicación especificada del búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión y la información del paquete. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Envía datos de forma asincrónica a un objeto conectado Socket. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Envía datos de forma asincrónica a un objeto conectado Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Envía datos de forma asincrónica a un objeto conectado Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Envía datos de forma asincrónica a un objeto conectado Socket. |
| BeginSendFile(String, AsyncCallback, Object) |
Envía el archivo |
| BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
Envía un archivo y búferes de datos de forma asincrónica a un objeto conectado Socket . |
| BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Envía datos de forma asincrónica a un host remoto específico. |
| Bind(EndPoint) |
Asocia un Socket objeto a un punto de conexión local. |
| CancelConnectAsync(SocketAsyncEventArgs) |
Cancela una solicitud asincrónica para una conexión de host remota. |
| Close() |
Cierra la Socket conexión y libera todos los recursos asociados. |
| Close(Int32) |
Cierra la Socket conexión y libera todos los recursos asociados con un tiempo de espera especificado para permitir que se envíen los datos en cola. |
| Connect(EndPoint) |
Establece una conexión a un host remoto. |
| Connect(IPAddress, Int32) |
Establece una conexión a un host remoto. El host se especifica mediante una dirección IP y un número de puerto. |
| Connect(IPAddress[], Int32) |
Establece una conexión a un host remoto. El host se especifica mediante una matriz de direcciones IP y un número de puerto. |
| Connect(String, Int32) |
Establece una conexión a un host remoto. El host se especifica mediante un nombre de host y un número de puerto. |
| ConnectAsync(SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para una conexión a un host remoto. |
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para una conexión a un host remoto. |
| Disconnect(Boolean) |
Cierra la conexión de socket y permite reutilizar el socket. |
| DisconnectAsync(SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para desconectar de un punto de conexión remoto. |
| Dispose() |
Libera todos los recursos usados por la instancia actual de la Socket clase . |
| Dispose(Boolean) |
Libera los recursos no administrados usados por Sockety, opcionalmente, elimina los recursos administrados. |
| DuplicateAndClose(Int32) |
Duplica la referencia de socket para el proceso de destino y cierra el socket de este proceso. |
| EndAccept(Byte[], IAsyncResult) |
Acepta de forma asincrónica un intento de conexión entrante y crea un nuevo Socket objeto para controlar la comunicación remota del host. Este método devuelve un búfer que contiene los datos iniciales transferidos. |
| EndAccept(Byte[], Int32, IAsyncResult) |
Acepta de forma asincrónica un intento de conexión entrante y crea un nuevo Socket objeto para controlar la comunicación remota del host. Este método devuelve un búfer que contiene los datos iniciales y el número de bytes transferidos. |
| EndAccept(IAsyncResult) |
Acepta de forma asincrónica un intento de conexión entrante y crea un nuevo Socket para controlar la comunicación remota del host. |
| EndConnect(IAsyncResult) |
Finaliza una solicitud de conexión asincrónica pendiente. |
| EndDisconnect(IAsyncResult) |
Finaliza una solicitud de desconexión asincrónica pendiente. |
| EndReceive(IAsyncResult, SocketError) |
Finaliza una lectura asincrónica pendiente. |
| EndReceive(IAsyncResult) |
Finaliza una lectura asincrónica pendiente. |
| EndReceiveFrom(IAsyncResult, EndPoint) |
Finaliza una lectura asincrónica pendiente desde un punto de conexión específico. |
| EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) |
Finaliza una lectura asincrónica pendiente desde un punto de conexión específico. Este método también revela más información sobre el paquete que EndReceiveFrom(IAsyncResult, EndPoint). |
| EndSend(IAsyncResult, SocketError) |
Finaliza un envío asincrónico pendiente. |
| EndSend(IAsyncResult) |
Finaliza un envío asincrónico pendiente. |
| EndSendFile(IAsyncResult) |
Finaliza un envío asincrónico pendiente de un archivo. |
| EndSendTo(IAsyncResult) |
Finaliza un envío asincrónico pendiente a una ubicación específica. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Finalize() |
Libera los recursos usados por la Socket clase . |
| GetHashCode() |
Devuelve un valor hash para una Socket instancia de . |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Devuelve la configuración de opción especificada Socket , representada como una matriz de bytes. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Devuelve el valor de la opción especificada Socket en una matriz. |
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Devuelve el valor de una opción especificada Socket , representada como un objeto . |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| IOControl(Int32, Byte[], Byte[]) |
Establece los modos de funcionamiento de bajo nivel para el uso de Socket códigos de control numéricos. |
| IOControl(IOControlCode, Byte[], Byte[]) |
Establece los modos operativos de bajo nivel para el uso de Socket la IOControlCode enumeración para especificar códigos de control. |
| Listen(Int32) |
Coloca un Socket objeto en un estado de escucha. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| Poll(Int32, SelectMode) |
Determina el estado de Socket. |
| Receive(Byte[], Int32, Int32, SocketFlags, SocketError) |
Recibe datos de un enlazado Socket a un búfer de recepción mediante el especificado SocketFlags. |
| Receive(Byte[], Int32, Int32, SocketFlags) |
Recibe el número especificado de bytes de un enlazado Socket a la posición de desplazamiento especificada del búfer de recepción mediante el especificado SocketFlags. |
| Receive(Byte[], Int32, SocketFlags) |
Recibe el número especificado de bytes de datos de un enlazado Socket a un búfer de recepción mediante el especificado SocketFlags. |
| Receive(Byte[], SocketFlags) |
Recibe datos de un enlazado Socket a un búfer de recepción mediante el especificado SocketFlags. |
| Receive(Byte[]) |
Recibe datos de un enlazado Socket a un búfer de recepción. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Recibe datos de un enlazado Socket a la lista de búferes de recepción mediante el especificado SocketFlags. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags) |
Recibe datos de un enlazado Socket a la lista de búferes de recepción mediante el especificado SocketFlags. |
| Receive(IList<ArraySegment<Byte>>) |
Recibe datos de un enlazado Socket a la lista de búferes de recepción. |
| Receive(Span<Byte>, SocketFlags, SocketError) |
Recibe datos de un enlazado Socket a un búfer de recepción mediante el especificado SocketFlags. |
| Receive(Span<Byte>, SocketFlags) |
Recibe datos de un enlazado Socket a un búfer de recepción mediante el especificado SocketFlags. |
| Receive(Span<Byte>) |
Recibe datos de un enlazado Socket a un búfer de recepción. |
| ReceiveAsync(SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para recibir datos de un objeto conectado Socket . |
| ReceiveFrom(Byte[], EndPoint) |
Recibe un datagrama en el búfer de datos y almacena el punto de conexión. |
| ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Recibe el número especificado de bytes de datos en la ubicación especificada del búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión. |
| ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Recibe el número especificado de bytes en el búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión. |
| ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Recibe un datagrama en el búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión. |
| ReceiveFromAsync(SocketAsyncEventArgs) |
Comienza a recibir datos de forma asincrónica desde un dispositivo de red especificado. |
| ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Recibe el número especificado de bytes de datos en la ubicación especificada del búfer de datos, utilizando el especificado SocketFlagsy almacena la información del punto de conexión y del paquete. |
| ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Comienza a recibir de forma asincrónica el número especificado de bytes de datos en la ubicación especificada en el búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión y la información del paquete. |
| Select(IList, IList, IList, Int32) |
Determina el estado de uno o varios sockets. |
| Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Envía el número especificado de bytes de datos a un objeto conectado Socket, comenzando en el desplazamiento especificado y utilizando el especificado SocketFlags. |
| Send(Byte[], Int32, Int32, SocketFlags) |
Envía el número especificado de bytes de datos a un objeto conectado Socket, comenzando en el desplazamiento especificado y utilizando el especificado SocketFlags. |
| Send(Byte[], Int32, SocketFlags) |
Envía el número especificado de bytes de datos a un objeto conectado Socketmediante el especificado SocketFlags. |
| Send(Byte[], SocketFlags) |
Envía datos a un conectado Socket mediante el especificado SocketFlags. |
| Send(Byte[]) |
Envía datos a un conectado Socket. |
| Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Envía el conjunto de búferes de la lista a un conectado Socketmediante el especificado SocketFlags. |
| Send(IList<ArraySegment<Byte>>, SocketFlags) |
Envía el conjunto de búferes de la lista a un conectado Socketmediante el especificado SocketFlags. |
| Send(IList<ArraySegment<Byte>>) |
Envía el conjunto de búferes de la lista a un conectado Socket. |
| Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Envía datos a un conectado Socket mediante el especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>, SocketFlags) |
Envía datos a un conectado Socket mediante el especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>) |
Envía datos a un conectado Socket. |
| SendAsync(SocketAsyncEventArgs) |
Envía datos de forma asincrónica a un objeto conectado Socket . |
| SendFile(String, Byte[], Byte[], TransmitFileOptions) |
Envía el archivo |
| SendFile(String) |
Envía el archivo |
| SendPacketsAsync(SocketAsyncEventArgs) |
Envía una colección de archivos o búferes de datos en memoria de forma asincrónica a un objeto conectado Socket . |
| SendTo(Byte[], EndPoint) |
Envía datos al punto de conexión especificado. |
| SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Envía el número especificado de bytes de datos al punto de conexión especificado, comenzando en la ubicación especificada en el búfer y utilizando el especificado SocketFlags. |
| SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Envía el número especificado de bytes de datos al punto de conexión especificado mediante el especificado SocketFlags. |
| SendTo(Byte[], SocketFlags, EndPoint) |
Envía datos a un punto de conexión específico mediante el especificado SocketFlags. |
| SendToAsync(SocketAsyncEventArgs) |
Envía datos de forma asincrónica a un host remoto específico. |
| SetIPProtectionLevel(IPProtectionLevel) |
Establece el nivel de protección IP en un socket. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Establece la opción especificada Socket en el valor especificado Boolean . |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Establece la opción especificada Socket en el valor especificado, representado como una matriz de bytes. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Establece la opción especificada Socket en el valor entero especificado. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Establece la opción especificada Socket en el valor especificado, representado como un objeto . |
| Shutdown(SocketShutdown) |
Deshabilita los envíos y los recibe en .Socket |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDisposable.Dispose() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Libera todos los recursos usados por .Socket |
Métodos de extensión
| Nombre | Description |
|---|---|
| AcceptAsync(Socket, Socket) |
Realiza una operación asincrónica en para aceptar un intento de conexión entrante en el socket. |
| AcceptAsync(Socket) |
Realiza una operación asincrónica en para aceptar un intento de conexión entrante en el socket. |
| ConnectAsync(Socket, EndPoint) |
Establece una conexión a un host remoto. |
| ConnectAsync(Socket, IPAddress, Int32) |
Establece una conexión a un host remoto. El host se especifica mediante una dirección IP y un número de puerto. |
| ConnectAsync(Socket, IPAddress[], Int32) |
Establece una conexión a un host remoto. El host se especifica mediante una matriz de direcciones IP y un número de puerto. |
| ConnectAsync(Socket, String, Int32) |
Establece una conexión a un host remoto. El host se especifica mediante un nombre de host y un número de puerto. |
| ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Recibe datos de un socket conectado. |
| ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Recibe datos de un socket conectado. |
| ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken) |
Recibe datos de un socket conectado. |
| ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Recibe datos de un dispositivo de red especificado. |
| ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Recibe el número especificado de bytes de datos en la ubicación especificada del búfer de datos, utilizando el especificado SocketFlagsy almacena la información del punto de conexión y del paquete. |
| SendAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Envía datos a un socket conectado. |
| SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Envía datos a un socket conectado. |
| SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Envía datos a un socket conectado. |
| SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Envía datos de forma asincrónica a un host remoto específico. |
Se aplica a
Seguridad para subprocesos
Es seguro realizar una operación de envío y recepción simultáneamente en una Socket instancia, pero no se recomienda emitir varias llamadas de envío o recepción simultáneamente. En función de la implementación de la plataforma subyacente, esto puede provocar la intercalación de datos no deseados para envíos o recepciones de varios búferes grandes o múltiples.
Consulte también
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Programación de red en .NET Framework
- Procedimientos recomendados para clases de System.Net
- Administración de caché para aplicaciones de red
- Protocolo de Internet versión 6
- Ejemplos de programación de red
- Seguimiento de red en .NET Framework
- Seguridad en la programación de red
- Mejoras de rendimiento de sockets en la versión 3.5