Socket.ConnectAsync Método
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í.
Comienza una solicitud asincrónica para una conexión a host remoto.
Sobrecargas
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para una conexión a host remoto. |
ConnectAsync(IPAddress[], Int32, CancellationToken) |
Establece una conexión a un host remoto. |
ConnectAsync(String, Int32, CancellationToken) |
Establece una conexión a un host remoto. |
ConnectAsync(IPAddress, Int32, CancellationToken) |
Establece una conexión a un host remoto. |
ConnectAsync(String, Int32) |
Establece una conexión a un host remoto. |
ConnectAsync(IPAddress[], Int32) |
Establece una conexión a un host remoto. |
ConnectAsync(IPAddress, Int32) |
Establece una conexión a un host remoto. |
ConnectAsync(EndPoint, CancellationToken) |
Establece una conexión a un host remoto. |
ConnectAsync(SocketAsyncEventArgs) |
Comienza una solicitud asincrónica para una conexión a host remoto. |
ConnectAsync(EndPoint) |
Establece una conexión a un host remoto. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza una solicitud asincrónica para una conexión a host remoto.
public:
static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e);
public static bool ConnectAsync (System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs) As Boolean
Parámetros
- socketType
- SocketType
Uno de los valores de SocketType.
- protocolType
- ProtocolType
Uno de los valores de ProtocolType.
Objeto SocketAsyncEventArgs que se usa para esta operación de socket asincrónica.
Devoluciones
Devuelve true
si la operación de E/S está pendiente. Al completar la operación se provoca el evento Completed del parámetro e
.
Devuelve false
si la operación de E/S se ha completado de forma sincrónica. En ese caso, el evento 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.
Excepciones
Un argumento no es válido. Esta excepción también se produce si se especifican varios búferes; es decir, si la propiedad BufferList no es null.
El valor del parámetro e
y RemoteEndPoint no puede ser null.
El objeto Socket está escuchando o ya hay una operación de socket en curso que utiliza el objeto SocketAsyncEventArgs especificado en el parámetro e
.
Error al intentar acceder al socket.
El punto de conexión local y RemoteEndPoint no son la misma familia de direcciones.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Si usa un protocolo orientado a la conexión, el método M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.SocketAsyncEventArgs) inicia una solicitud asincrónica para una conexión al host remoto. Si usa un protocolo sin conexión, ConnectAsync establece un host remoto predeterminado especificado por los socketType
parámetros y protocolType
.
Para recibir una notificación de finalización, debe crear un método de devolución de llamada que implemente el delegado EventHandler<SocketAsyncEventArgs> y adjunte la devolución de llamada al SocketAsyncEventArgs.Completed evento.
El autor de la llamada debe establecer la SocketAsyncEventArgs.RemoteEndPoint propiedad en el IPEndPoint del host remoto al que se va a conectar.
El autor de la llamada puede establecer la SocketAsyncEventArgs.UserToken propiedad en cualquier objeto de estado de usuario deseado antes de llamar al ConnectAsync método , de modo que la información se pueda recuperar en el método de devolución de llamada. Si la devolución de llamada necesita más información que un solo objeto, se puede crear una clase pequeña para contener la otra información de estado necesaria como miembros.
Si usa un protocolo sin conexión como UDP, no tiene que llamar ConnectAsync a antes de enviar y recibir datos. Puede usar SendToAsync y ReceiveFromAsync comunicarse con un host remoto. Si llama a ConnectAsync, se descartarán los datagramas que lleguen desde una dirección distinta del valor predeterminado especificado. Si desea cambiar el host remoto predeterminado, llame al ConnectAsync método de nuevo con el punto de conexión deseado.
Si desea establecer el host remoto predeterminado en una dirección de difusión, primero debe llamar SetSocketOption a y establecer Broadcast en true
. Si esto no se hace, el ConnectAsync método iniciará un SocketException.
Se requieren las siguientes propiedades y eventos en el System.Net.Sockets.SocketAsyncEventArgs objeto:
Opcionalmente, se puede proporcionar un búfer que se enviará atómicamente en el socket después de que el ConnectAsync método se realice correctamente. En este caso, la SocketAsyncEventArgs.Buffer propiedad debe establecerse en el búfer que contiene los datos que se van a enviar y la SocketAsyncEventArgs.Count propiedad debe establecerse en el número de bytes de datos que se van a enviar desde el búfer. Una vez establecida una conexión, se envía este búfer de datos.
Si usa un protocolo orientado a la conexión y no llama a antes de llamar Bind a ConnectAsync, el proveedor de servicios subyacente asignará la dirección de red local y el número de puerto más apropiados.
Si usa un protocolo sin conexión, el proveedor de servicios no asignará una dirección IP de red local y un número de puerto hasta que llame a los SendAsync métodos o ReceiveAsync .
El ConnectAsync método produce NotSupportedException si la familia de direcciones de Socket y SocketAsyncEventArgs.RemoteEndPoint no son la misma familia de direcciones.
Nota
Si recibe un SocketException elemento al llamar a este método, use la SocketException.ErrorCode propiedad para obtener el código de error específico. Después de obtener este código, consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.
Se aplica a
ConnectAsync(IPAddress[], Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::ValueTask ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress[] addresses, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress[] * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (addresses As IPAddress(), port As Integer, cancellationToken As CancellationToken) As ValueTask
Parámetros
- addresses
- IPAddress[]
Una lista de IPAddresses para el host remoto que se usará para intentar conectarse al host remoto.
- port
- Int32
Puerto del host remoto al que se va a conectar.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para cancelar la operación asincrónica.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro addresses
no puede ser NULL.
El addresses
parámetro no puede ser una matriz vacía.
está Socket escuchando.
El socket no está en las InterNetwork familias o InterNetworkV6 .
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Connect(IPAddress[], Int32).
Se aplica a
ConnectAsync(String, Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::String ^ host, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (string host, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (host As String, port As Integer, cancellationToken As CancellationToken) As ValueTask
Parámetros
- host
- String
Nombre de host del host remoto al que se va a conectar.
- port
- Int32
Puerto del host remoto al que se va a conectar.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para cancelar la operación asincrónica.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro host
no puede ser NULL.
está Socket escuchando.
El socket no está en las InterNetwork familias o InterNetworkV6 .
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Connect(String, Int32).
Se aplica a
ConnectAsync(IPAddress, Int32, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPAddress ^ address, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress address, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (address As IPAddress, port As Integer, cancellationToken As CancellationToken) As ValueTask
Parámetros
- address
- IPAddress
Dirección IP del host remoto al que se va a conectar.
- port
- Int32
Puerto del host remoto al que se va a conectar.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para cancelar la operación asincrónica.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro address
no puede ser NULL.
está Socket escuchando.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Connect(IPAddress, Int32).
Se aplica a
ConnectAsync(String, Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::String ^ host, int port);
public System.Threading.Tasks.Task ConnectAsync (string host, int port);
member this.ConnectAsync : string * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (host As String, port As Integer) As Task
Parámetros
- host
- String
Nombre de host del host remoto al que se va a conectar.
- port
- Int32
Puerto del host remoto al que se va a conectar.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro host
no puede ser NULL.
está Socket escuchando.
El socket no está en las InterNetwork familias o InterNetworkV6 .
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Connect(String, Int32).
Se aplica a
ConnectAsync(IPAddress[], Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::Task ^ ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress[] addresses, int port);
member this.ConnectAsync : System.Net.IPAddress[] * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (addresses As IPAddress(), port As Integer) As Task
Parámetros
- addresses
- IPAddress[]
Una lista de IPAddresses para el host remoto que se usará para intentar conectarse al host remoto.
- port
- Int32
Puerto del host remoto al que se va a conectar.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro addresses
no puede ser NULL.
El addresses
parámetro no puede ser una matriz vacía.
está Socket escuchando.
El socket no está en las InterNetwork familias o InterNetworkV6 .
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Connect(IPAddress[], Int32).
Se aplica a
ConnectAsync(IPAddress, Int32)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPAddress ^ address, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress address, int port);
member this.ConnectAsync : System.Net.IPAddress * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (address As IPAddress, port As Integer) As Task
Parámetros
- address
- IPAddress
Dirección IP del host remoto al que se va a conectar.
- port
- Int32
Puerto del host remoto al que se va a conectar.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro address
no puede ser NULL.
está Socket escuchando.
El socket no está en las InterNetwork familias o InterNetworkV6 .
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Connect(IPAddress, Int32).
Se aplica a
ConnectAsync(EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::EndPoint ^ remoteEP, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (remoteEP As EndPoint, cancellationToken As CancellationToken) As ValueTask
Parámetros
- remoteEP
- EndPoint
El punto de conexión al que conectarse.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para cancelar la operación asincrónica.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro remoteEP
no puede ser NULL.
está Socket escuchando.
Error al intentar acceder al socket.
El punto de conexión local y el remoteEP
parámetro no son la misma familia de direcciones.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Connect(EndPoint).
Se aplica a
ConnectAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza una solicitud asincrónica para una conexión a host remoto.
public:
bool ConnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ConnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ConnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ConnectAsync (e As SocketAsyncEventArgs) As Boolean
Parámetros
Objeto SocketAsyncEventArgs que se usa para esta operación de socket asincrónica.
Devoluciones
Devuelve true
si la operación de E/S está pendiente. Al completar la operación se provoca el evento Completed del parámetro e
.
Devuelve false
si la operación de E/S se ha completado de forma sincrónica. En ese caso, el evento 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.
Excepciones
Un argumento no es válido. Esta excepción también se produce si se especifican varios búferes; es decir, si la propiedad BufferList no es null.
El valor del parámetro e
y RemoteEndPoint no puede ser null.
El objeto Socket está escuchando o ya hay una operación de socket en curso que utiliza el objeto SocketAsyncEventArgs especificado en el parámetro e
.
Error al intentar acceder al socket.
El punto de conexión local y no RemoteEndPoint son la misma familia de direcciones.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Si usa un protocolo orientado a la conexión, el ConnectAsync método inicia una solicitud asincrónica para una conexión al host remoto. Si usa un protocolo sin conexión, ConnectAsync establece un host remoto predeterminado.
Para recibir una notificación de finalización, debe crear un método de devolución de llamada que implemente el delegado EventHandler<SocketAsyncEventArgs> y adjunte la devolución de llamada al SocketAsyncEventArgs.Completed evento.
El autor de la llamada debe establecer la SocketAsyncEventArgs.RemoteEndPoint propiedad en el IPEndPoint del host remoto al que se va a conectar.
El autor de la llamada puede establecer la SocketAsyncEventArgs.UserToken propiedad en cualquier objeto de estado de usuario deseado antes de llamar al ConnectAsync método , de modo que la información se pueda recuperar en el método de devolución de llamada. Si la devolución de llamada necesita más información que un solo objeto, se puede crear una clase pequeña para contener la otra información de estado necesaria como miembros.
Si usa un protocolo sin conexión como UDP, no tiene que llamar ConnectAsync a antes de enviar y recibir datos. Puede usar SendToAsync y ReceiveFromAsync comunicarse con un host remoto. Si llama a ConnectAsync, se descartarán los datagramas que lleguen desde una dirección distinta del valor predeterminado especificado. Si desea cambiar el host remoto predeterminado, llame al ConnectAsync método de nuevo con el punto de conexión deseado.
Si desea establecer el host remoto predeterminado en una dirección de difusión, primero debe llamar SetSocketOption a y establecer Broadcast en true
. Si esto no se hace, el ConnectAsync método iniciará un SocketException.
Se requieren las siguientes propiedades y eventos en el System.Net.Sockets.SocketAsyncEventArgs objeto:
Opcionalmente, se puede proporcionar un búfer que se enviará atómicamente en el socket después de que el ConnectAsync método se realice correctamente. En este caso, la SocketAsyncEventArgs.Buffer propiedad debe establecerse en el búfer que contiene los datos que se van a enviar y la SocketAsyncEventArgs.Count propiedad debe establecerse en el número de bytes de datos que se van a enviar desde el búfer. Una vez establecida una conexión, se envía este búfer de datos.
Si usa un protocolo orientado a la conexión y no llama a antes de llamar Bind a ConnectAsync, el proveedor de servicios subyacente asignará la dirección de red local y el número de puerto más apropiados.
Si usa un protocolo sin conexión, el proveedor de servicios no asignará una dirección IP de red local y un número de puerto hasta que llame a los SendAsync métodos o ReceiveAsync .
El ConnectAsync método produce NotSupportedException si la familia de direcciones de Socket y SocketAsyncEventArgs.RemoteEndPoint no son la misma familia de direcciones.
Nota
Si recibe un SocketException elemento al llamar a este método, use la SocketException.ErrorCode propiedad para obtener el código de error específico. Después de obtener este código, consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.
Consulte también
Se aplica a
ConnectAsync(EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Establece una conexión a un host remoto.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task ConnectAsync (System.Net.EndPoint remoteEP);
member this.ConnectAsync : System.Net.EndPoint -> System.Threading.Tasks.Task
Public Function ConnectAsync (remoteEP As EndPoint) As Task
Parámetros
- remoteEP
- EndPoint
El punto de conexión al que conectarse.
Devoluciones
Tarea asincrónica que se completa cuando se establece la conexión.
Excepciones
El parámetro remoteEP
no puede ser NULL.
está Socket escuchando.
Error al intentar acceder al socket.
El punto de conexión local y el remoteEP
parámetro no son la misma familia de direcciones.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.
Comentarios
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Connect(EndPoint).