Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Socket.SendAsync (Método)

Envía datos de forma asincrónica a un objeto Socket conectado.

Espacio de nombres:  System.Net.Sockets
Ensamblado:  System (en System.dll)

public bool SendAsync(
	SocketAsyncEventArgs e
)

Parámetros

e
Tipo: System.Net.Sockets.SocketAsyncEventArgs
Objeto System.Net.Sockets.SocketAsyncEventArgs que se usa para esta operación de socket asincrónica.

Valor devuelto

Tipo: System.Boolean
Devuelve true si la operación de E/S está pendiente. Al completar la operación se provoca el evento SocketAsyncEventArgs.Completed del parámetro e.
Devuelve false si la operación de E/S se completó de forma sincrónica. En ese caso, el evento SocketAsyncEventArgs.Completed del parámetro e no se provoca y el objeto e que se pasa como parámetro puede examinarse inmediatamente después de que se devuelva la llamada al método para recuperar el resultado de la operación.

ExcepciónCondición
ArgumentException

Las propiedades SocketAsyncEventArgs.Buffer o SocketAsyncEventArgs.BufferList del parámetro e deben hacer referencia a los búferes válidos. Se puede establecer una de estas propiedades, pero no ambas al mismo tiempo.

InvalidOperationException

Ya hay una operación de socket en curso que utiliza el objeto System.Net.Sockets.SocketAsyncEventArgs especificado que se ha pasado en el parámetro e.

NotSupportedException

Se requiere Windows XP o posteriores para este método.

ObjectDisposedException

Se ha cerrado el Socket.

SocketException

El Socket no está conectado todavía o no se obtuvo a través de un método Accept, AcceptAsync o BeginAccept.

El método SendAsync se usa para escribir los datos salientes de uno o más búferes en un socket orientado a la conexión. Sin embargo, este método también se puede usar en los sockets sin conexión que han especificado un host remoto una operación de conexión.

El método SendAsync inicia una operación de envío asincrónica al host remoto establecido en el método Accept, AcceptAsync, BeginAccept, BeginConnect, Connect o ConnectAsync.

Los eventos y propiedades siguientes del objeto System.Net.Sockets.SocketAsyncEventArgs son necesarios para llamar correctamente a este método:

El llamador puede establecer la propiedad SocketAsyncEventArgs.UserToken en cualquier objeto de estado de usuario que desee antes de llamar al método SendAsync de modo que la información pueda recuperarse en el método de devolución de llamada. Si la devolución de llamada necesita más información que un solo objeto, puede crearse una pequeña clase que contenga el resto de la información de estado requerida como miembros.

El método SendAsync producirá una excepción si no se llama primero a Accept, AcceptAsync, BeginAcceptBeginConnect, Connect o ConnectAsync.

La llamada al método SendAsync permite enviar datos en un subproceso de ejecución independiente.

Para los sockets orientados a mensajes, no supere el tamaño del mensaje máximo del proveedor de servicios de Windows Sockets subyacente. Si se pasan demasiados datos automáticamente a través del proveedor de servicios subyacente, no se transmiten los datos y el método SendAsync inicia una excepción SocketException con la propiedad SocketAsyncEventArgs.SocketError establecida en el código de error de WinSock WSAEMSGSIZE (10040) nativo.

Observe que la realización correcta del método SendAsync no implica una entrega correcta de los datos.

.NET Framework

Compatible con: 4, 3.5 SP1, 3.0 SP1, 2.0 SP1

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft