Socket.ConnectAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
Está Socket a ouvir.
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.
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.
Está Socket a ouvir.
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.
Está Socket a ouvir.
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.
Está Socket a ouvir.
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.
Está Socket a ouvir.
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.
Está Socket a ouvir.
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.
Está Socket a ouvir.
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
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.
Está Socket a ouvir.
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).