Socket.BeginConnect Método

Definição

Inicia um pedido assíncrono para uma ligação remota ao host.

Sobrecargas

Name Description
BeginConnect(EndPoint, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um IPAddress e um número de porta.

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um IPAddress array e um número de porta.

BeginConnect(String, Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um nome de host e um número de porta.

BeginConnect(EndPoint, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host.

public:
 IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect(System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

remoteEP
EndPoint

E EndPoint que representa o host remoto.

callback
AsyncCallback

O AsyncCallback delegado.

state
Object

Um objeto que contém informação de estado para este pedido.

Devoluções

E IAsyncResult que faz referência à ligação assíncrona.

Exceções

remoteEP é null.

Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.

O Socket local foi encerrado.

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

O Socket foi colocado num estado de escuta ao chamar Listen(Int32), ou uma operação assíncrona já está em curso.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

Os protocolos orientados à ligação podem usar o BeginAccept método para começar a aceitar tentativas de ligação recebidas. A operação de aceitação resultante é representada pelo retornado IAsyncResult , mesmo que possa ser concluído de forma síncrona. Antes de chamar o BeginAccept método, deve chamá-lo Listen para ouvir e colocar em fila os pedidos de ligação recebidos.

Podes passar um callback que implementa AsyncCallback para BeginAccept seres notificado sobre a conclusão da operação de aceitação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback pode ser executado em linha, durante a chamada para BeginAccept. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginAccept método.

A BeginAccept operação deve ser realizada chamando o EndAccept método. Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndAccept irá bloquear o thread que chama até que a operação seja concluída.

Para cancelar uma chamada pendente para o BeginAccept método, feche o Socket. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginAccept método é chamado. Uma chamada subsequente ao método EndAccept lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Note

Pode usar a RemoteEndPoint propriedade do retornado Socket para identificar o endereço de rede e o número de porta do host remoto.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Note

O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.

Ver também

Aplica-se a

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um IPAddress e um número de porta.

public:
 IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect(System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

address
IPAddress

O IPAddress do anfitrião remoto.

port
Int32

O número de porta do host remoto.

requestCallback
AsyncCallback

Um AsyncCallback delegado que faz referência ao método a invocar quando a operação de ligação estiver concluída.

state
Object

Um objeto definido pelo utilizador que contém informação sobre a operação de ligação. Este objeto é passado ao requestCallback delegado quando a operação está concluída.

Devoluções

E IAsyncResult que faz referência à ligação assíncrona.

Exceções

address é null.

Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.

O Socket local foi encerrado.

Não Socket pertence à família dos soquetes.

O número de porta não é válido.

O comprimento de address é zero.

O Socket foi colocado num estado de escuta ao chamar Listen(Int32), ou uma operação assíncrona já está em curso.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

Se estiver a usar um protocolo orientado à ligação, o BeginConnect método inicia um pedido assíncrono para uma ligação ao endpoit especificado pelo remoteEP parâmetro. Se estiveres a usar um protocolo sem conexão, BeginConnect estabelece um host remoto predefinido.

Pode passar um callback que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de ligação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback pode ser executado em linha, durante a chamada para BeginConnect. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginConnect método.

A BeginConnect operação deve ser realizada chamando o EndConnect método. Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndConnect irá bloquear o thread que chama até que a operação seja concluída.

Se estiver a usar um protocolo sem ligação como o UDP, não precisa de ligar BeginConnect antes de enviar e receber dados. Pode usar BeginSendTo e BeginReceiveFrom comunicar com um host remoto. Se ligar, BeginConnectquaisquer datagramas que cheguem de um endereço diferente do padrão especificado serão descartados. Se quiser definir o seu host remoto predefinido para um endereço de broadcast, deve primeiro ligar SetSocketOption e definir o Broadcast para true. Se não conseguires, BeginConnect vais lançar um SocketException.

Se estiver a usar um protocolo orientado à ligação e não ligar Bind antes de ligar BeginConnect, 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 de rede local e um número de porta até que ligue para o BeginSend método ou ReceiveFrom . Se quiseres mudar o host remoto predefinido, chama o BeginConnect método novamente com o endpoint desejado.

Para cancelar uma chamada pendente para o BeginConnect método, feche o Socket. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginConnect método é chamado. Uma chamada subsequente ao método EndConnect lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Se este soquete já foi desligado, então BeginConnect deve ser chamado numa thread que não sai até a operação estar concluída. Esta é uma limitação do fornecedor subjacente.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Note

O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.

Ver também

Aplica-se a

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um IPAddress array e um número de porta.

public:
 IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect(System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

addresses
IPAddress[]

Pelo menos um IPAddress, designando o host remoto.

port
Int32

O número de porta do host remoto.

requestCallback
AsyncCallback

Um AsyncCallback delegado que faz referência ao método a invocar quando a operação de ligação estiver concluída.

state
Object

Um objeto definido pelo utilizador que contém informação sobre a operação de ligação. Este objeto é passado ao requestCallback delegado quando a operação está concluída.

Devoluções

E IAsyncResult que faz referência às ligações assíncronas.

Exceções

addresses é null.

Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.

O Socket local foi encerrado.

Este método é válido para sockets que utilizam InterNetwork ou InterNetworkV6.

O número de porta não é válido.

O comprimento de addresses é zero.

O Socket foi colocado num estado de escuta ao chamar Listen(Int32), ou uma operação assíncrona já está em curso.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

Se estiver a usar um protocolo orientado à ligação, o BeginConnect método inicia um pedido assíncrono para uma ligação ao endpoit especificado pelo remoteEP parâmetro. Se estiveres a usar um protocolo sem conexão, BeginConnect estabelece um host remoto predefinido.

Pode passar um callback que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de ligação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback pode ser executado em linha, durante a chamada para BeginConnect. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginConnect método.

A BeginConnect operação deve ser realizada chamando o EndConnect método. Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndConnect irá bloquear o thread que chama até que a operação seja concluída.

Se estiver a usar um protocolo sem ligação como o UDP, não precisa de ligar BeginConnect antes de enviar e receber dados. Pode usar BeginSendTo e BeginReceiveFrom comunicar com um host remoto. Se ligar, BeginConnectquaisquer datagramas que cheguem de um endereço diferente do padrão especificado serão descartados. Se quiser definir o seu host remoto predefinido para um endereço de broadcast, deve primeiro ligar SetSocketOption e definir o Broadcast para true. Se não conseguires, BeginConnect vais lançar um SocketException.

Se estiver a usar um protocolo orientado à ligação e não ligar Bind antes de ligar BeginConnect, 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 de rede local e um número de porta até que ligue para o BeginSend método ou ReceiveFrom . Se quiseres mudar o host remoto predefinido, chama o BeginConnect método novamente com o endpoint desejado.

Para cancelar uma chamada pendente para o BeginConnect método, feche o Socket. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginConnect método é chamado. Uma chamada subsequente ao método EndConnect lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Se este soquete já foi desligado, então BeginConnect deve ser chamado numa thread que não sai até a operação estar concluída. Esta é uma limitação do fornecedor subjacente.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Note

O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.

Ver também

Aplica-se a

BeginConnect(String, Int32, AsyncCallback, Object)

Inicia um pedido assíncrono para uma ligação remota ao host. O host é especificado por um nome de host e um número de porta.

public:
 IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect(string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

host
String

O nome do anfitrião remoto.

port
Int32

O número de porta do host remoto.

requestCallback
AsyncCallback

Um AsyncCallback delegado que faz referência ao método a invocar quando a operação de ligação estiver concluída.

state
Object

Um objeto definido pelo utilizador que contém informação sobre a operação de ligação. Este objeto é passado ao requestCallback delegado quando a operação está concluída.

Devoluções

E IAsyncResult que faz referência à ligação assíncrona.

Exceções

host é null.

O Socket local foi encerrado.

Este método é válido para soquetes nas InterNetwork famílias de ou.InterNetworkV6

O número de porta não é válido.

O Socket foi colocado num estado de escuta ao chamar Listen(Int32), ou uma operação assíncrona já está em curso.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

Se estiver a usar um protocolo orientado à ligação, o BeginConnect método inicia um pedido assíncrono para uma ligação ao endpoit especificado pelo remoteEP parâmetro. Se estiveres a usar um protocolo sem conexão, BeginConnect estabelece um host remoto predefinido.

Pode passar um callback que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de ligação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback pode ser executado em linha, durante a chamada para BeginConnect. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginConnect método.

A BeginConnect operação deve ser realizada chamando o EndConnect método. Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndConnect irá bloquear o thread que chama até que a operação seja concluída.

Se estiver a usar um protocolo sem ligação como o UDP, não precisa de ligar BeginConnect antes de enviar e receber dados. Pode usar BeginSendTo e BeginReceiveFrom comunicar com um host remoto. Se ligar, BeginConnectquaisquer datagramas que cheguem de um endereço diferente do padrão especificado serão descartados. Se quiser definir o seu host remoto predefinido para um endereço de broadcast, deve primeiro ligar SetSocketOption e definir o Broadcast para true. Se não conseguires, BeginConnect vais lançar um SocketException.

Se estiver a usar um protocolo orientado à ligação e não ligar Bind antes de ligar BeginConnect, 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 de rede local e um número de porta até que ligue para o BeginSend método ou ReceiveFrom . Se quiseres mudar o host remoto predefinido, chama o BeginConnect método novamente com o endpoint desejado.

Para cancelar uma chamada pendente para o BeginConnect método, feche o Socket. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginConnect método é chamado. Uma chamada subsequente ao método EndConnect lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Se este soquete já foi desligado, então BeginConnect deve ser chamado numa thread que não sai até a operação estar concluída. Esta é uma limitação do fornecedor subjacente.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Note

O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.

Ver também

Aplica-se a