Socket.ConnectAsync Método

Definição

Inicia um pedido assíncrono para ligação a um host remoto.

Sobrecargas

Name Description
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm)
ConnectAsync(String, Int32, CancellationToken)

Estabelece uma ligação a um host remoto.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Inicia um pedido assíncrono para ligação a um host remoto.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Estabelece uma ligação a um host remoto.

ConnectAsync(IPAddress, Int32, CancellationToken)

Estabelece uma ligação a um host remoto.

ConnectAsync(String, Int32)

Estabelece uma ligação a um host remoto.

ConnectAsync(IPAddress[], Int32)

Estabelece uma ligação a um host remoto.

ConnectAsync(IPAddress, Int32)

Estabelece uma ligação a um host remoto.

ConnectAsync(EndPoint, CancellationToken)

Estabelece uma ligação a um host remoto.

ConnectAsync(SocketAsyncEventArgs)

Inicia um pedido assíncrono para ligação a um host remoto.

ConnectAsync(EndPoint)

Estabelece uma ligação a um host remoto.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm)

Origem:
Socket.cs
public:
 static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e, System::Net::Sockets::ConnectAlgorithm connectAlgorithm);
public static bool ConnectAsync(System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e, System.Net.Sockets.ConnectAlgorithm connectAlgorithm);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs * System.Net.Sockets.ConnectAlgorithm -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs, connectAlgorithm As ConnectAlgorithm) As Boolean

Parâmetros

socketType
SocketType
protocolType
ProtocolType
connectAlgorithm
ConnectAlgorithm

Devoluções

Aplica-se a

ConnectAsync(String, Int32, CancellationToken)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

O nome do host remoto a que se deve ligar.

port
Int32

A porta do host remoto para se ligar.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para cancelar a operação assíncrona.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O host parâmetro não pode ser nulo.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

O soquete não pertence às InterNetwork famílias de ou.InterNetworkV6

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(String, Int32).

Aplica-se a

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Inicia um pedido assíncrono para ligação a um 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

Um dos SocketType valores.

protocolType
ProtocolType

Um dos ProtocolType valores.

e
SocketAsyncEventArgs

O SocketAsyncEventArgs objeto a usar para esta operação de soquete assíncrono.

Devoluções

true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será ativado após a conclusão da operação.

false se a operação de E/S fosse concluída de forma síncrona. Neste caso, o Completed evento sobre o e parâmetro não será levantado e o e objeto passado como parâmetro pode ser examinado imediatamente após o retorno da chamada ao método para recuperar o resultado da operação.

Exceções

Um argumento não é válido. Esta exceção ocorre se vários buffers forem especificados, a BufferList propriedade não for nula.

O e parâmetro não pode ser nulo e o RemoteEndPoint não pode ser nulo.

Já estava Socket em curso uma operação de soquete a ouvir usando o SocketAsyncEventArgs objeto especificado no e parâmetro.

Ocorreu um erro ao tentar aceder ao soquete.

O endpoint local e o RemoteEndPoint não são a mesma família de endereços.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Se estiver a usar um protocolo orientado à ligação, o método M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.SocketAsyncEventArgs) inicia um pedido assíncrono para uma ligação ao host remoto. Se estiver a usar um protocolo sem conexão, ConnectAsync estabelece um host remoto predefinido especificado pelos socketType parâmetros e.protocolType

Para ser notificado da conclusão, deve criar um método de callback que implemente o delegado EventHandler<SocketAsyncEventArgs> e anexar o callback ao SocketAsyncEventArgs.Completed evento.

O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade para o IPEndPoint do host remoto para se ligar.

O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado do utilizador desejado antes de chamar o ConnectAsync método, de modo a que a informação seja recuperável no método de retorno. Se o callback precisar de mais informação do que um único objeto, pode ser criada uma pequena classe para conter as outras informações de estado necessárias como membros.

Se estiver a usar um protocolo sem ligação como o UDP, não precisa de ligar ConnectAsync antes de enviar e receber dados. Pode usar SendToAsync e ReceiveFromAsync comunicar com um host remoto. Se ligar, ConnectAsyncquaisquer datagramas que cheguem de um endereço diferente do padrão especificado serão descartados. Se quiseres mudar o host remoto predefinido, chama o ConnectAsync método novamente com o endpoint desejado.

Se desejar definir o host remoto predefinido para um endereço de broadcast, deve primeiro ligar SetSocketOption e definir o Broadcast para true. Se isto não for feito, o ConnectAsync método irá lançar um SocketException.

São necessárias as seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto:

Opcionalmente, pode ser fornecido um buffer que será enviado atómicamente para o soquete após o sucesso do ConnectAsync método. Neste caso, a SocketAsyncEventArgs.Buffer propriedade tem de ser definida para o buffer que contém os dados a enviar e a SocketAsyncEventArgs.Count propriedade tem de ser definida para o número de bytes de dados a enviar do buffer. Uma vez estabelecida uma ligação, este buffer de dados é enviado.

Se estiver a usar um protocolo orientado à ligação e não ligar Bind antes de ligar ConnectAsync, o fornecedor de serviço subjacente atribuirá o endereço de rede local e o número de porta mais apropriados.

Se estiver a usar um protocolo sem conexão, o fornecedor de serviços não atribuirá um endereço IP de rede local e um número de porta até que chame os SendAsync métodos ou.ReceiveAsync

O ConnectAsync método lança NotSupportedException se a família de endereços de o Socket e o SocketAsyncEventArgs.RemoteEndPoint não forem a mesma família de endereços.

Note

Se receber um SocketException ao chamar este método, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.

Aplica-se a

ConnectAsync(IPAddress[], Int32, CancellationToken)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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[]

Uma lista de IPAddresses para o host remoto que serão usados para tentar ligar-se ao host remoto.

port
Int32

A porta do host remoto para se ligar.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para cancelar a operação assíncrona.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O addresses parâmetro não pode ser nulo.

O addresses parâmetro não pode ser um array vazio.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

O soquete não pertence às InterNetwork famílias de ou.InterNetworkV6

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(IPAddress[], Int32).

Aplica-se a

ConnectAsync(IPAddress, Int32, CancellationToken)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

A propriedade IPAd do host remoto para se ligar.

port
Int32

A porta do host remoto para se ligar.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para cancelar a operação assíncrona.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O address parâmetro não pode ser nulo.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(IPAddress, Int32).

Aplica-se a

ConnectAsync(String, Int32)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

O nome do host remoto a que se deve ligar.

port
Int32

A porta do host remoto para se ligar.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O host parâmetro não pode ser nulo.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

O soquete não pertence às InterNetwork famílias de ou.InterNetworkV6

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(String, Int32).

Aplica-se a

ConnectAsync(IPAddress[], Int32)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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[]

Uma lista de IPAddresses para o host remoto que serão usados para tentar ligar-se ao host remoto.

port
Int32

A porta do host remoto para se ligar.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O addresses parâmetro não pode ser nulo.

O addresses parâmetro não pode ser um array vazio.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

O soquete não pertence às InterNetwork famílias de ou.InterNetworkV6

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(IPAddress[], Int32).

Aplica-se a

ConnectAsync(IPAddress, Int32)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

A propriedade IPAd do host remoto para se ligar.

port
Int32

A porta do host remoto para se ligar.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O address parâmetro não pode ser nulo.

port é inferior a MinPort.

-ou-

port é maior que MaxPort.

O soquete não pertence às InterNetwork famílias de ou.InterNetworkV6

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(IPAddress, Int32).

Aplica-se a

ConnectAsync(EndPoint, CancellationToken)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

O ponto final para ligar.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para cancelar a operação assíncrona.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O remoteEP parâmetro não pode ser nulo.

Ocorreu um erro ao tentar aceder ao soquete.

O endpoint local e o remoteEP parâmetro não são a mesma família de endereços.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(EndPoint).

Aplica-se a

ConnectAsync(SocketAsyncEventArgs)

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Inicia um pedido assíncrono para ligação a um 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

e
SocketAsyncEventArgs

O SocketAsyncEventArgs objeto a usar para esta operação de soquete assíncrono.

Devoluções

true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será ativado após a conclusão da operação.

false se a operação de E/S fosse concluída de forma síncrona. Neste caso, o Completed evento sobre o e parâmetro não será levantado e o e objeto passado como parâmetro pode ser examinado imediatamente após o retorno da chamada ao método para recuperar o resultado da operação.

Exceções

Um argumento não é válido. Esta exceção ocorre se vários buffers forem especificados, a BufferList propriedade não for nula.

O e parâmetro não pode ser nulo e o RemoteEndPoint não pode ser nulo.

Já estava Socket em curso uma operação de soquete a ouvir usando o SocketAsyncEventArgs objeto especificado no e parâmetro.

Ocorreu um erro ao tentar aceder ao soquete.

O endpoint local e o RemoteEndPoint não são a mesma família de endereços.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Se estiver a usar um protocolo orientado à ligação, o ConnectAsync método inicia um pedido assíncrono para uma ligação ao host remoto. Se estiveres a usar um protocolo sem conexão, ConnectAsync estabelece um host remoto predefinido.

Para ser notificado da conclusão, deve criar um método de callback que implemente o delegado EventHandler<SocketAsyncEventArgs> e anexar o callback ao SocketAsyncEventArgs.Completed evento.

O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade para o IPEndPoint do host remoto para se ligar.

O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado do utilizador desejado antes de chamar o ConnectAsync método, de modo a que a informação seja recuperável no método de retorno. Se o callback precisar de mais informação do que um único objeto, pode ser criada uma pequena classe para conter as outras informações de estado necessárias como membros.

Se estiver a usar um protocolo sem ligação como o UDP, não precisa de ligar ConnectAsync antes de enviar e receber dados. Pode usar SendToAsync e ReceiveFromAsync comunicar com um host remoto. Se ligar, ConnectAsyncquaisquer datagramas que cheguem de um endereço diferente do padrão especificado serão descartados. Se quiseres mudar o host remoto predefinido, chama o ConnectAsync método novamente com o endpoint desejado.

Se desejar definir o host remoto predefinido para um endereço de broadcast, deve primeiro ligar SetSocketOption e definir o Broadcast para true. Se isto não for feito, o ConnectAsync método irá lançar um SocketException.

São necessárias as seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto:

Opcionalmente, pode ser fornecido um buffer que será enviado atómicamente para o soquete após o sucesso do ConnectAsync método. Neste caso, a SocketAsyncEventArgs.Buffer propriedade tem de ser definida para o buffer que contém os dados a enviar e a SocketAsyncEventArgs.Count propriedade tem de ser definida para o número de bytes de dados a enviar do buffer. Uma vez estabelecida uma ligação, este buffer de dados é enviado.

Se estiver a usar um protocolo orientado à ligação e não ligar Bind antes de ligar ConnectAsync, o fornecedor de serviço subjacente atribuirá o endereço de rede local e o número de porta mais apropriados.

Se estiver a usar um protocolo sem conexão, o fornecedor de serviços não atribuirá um endereço IP de rede local e um número de porta até que chame os SendAsync métodos ou.ReceiveAsync

O ConnectAsync método lança NotSupportedException se a família de endereços de o Socket e o SocketAsyncEventArgs.RemoteEndPoint não forem a mesma família de endereços.

Note

Se receber um SocketException ao chamar este método, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.

Ver também

Aplica-se a

ConnectAsync(EndPoint)

Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs
Origem:
Socket.Tasks.cs

Estabelece uma ligação a um 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

O ponto final para ligar.

Devoluções

Uma tarefa assíncrona que se completa quando a ligação é estabelecida.

Exceções

O remoteEP parâmetro não pode ser nulo.

Ocorreu um erro ao tentar aceder ao soquete.

O endpoint local e o remoteEP parâmetro não são a mesma família de endereços.

O Socket local foi encerrado.

Um chamador mais acima na pilha de chamadas não tem permissão para a operação solicitada.

Observações

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Connect(EndPoint).

Aplica-se a