Partilhar via


Socket.BeginConnect Método

Definição

Inicia uma solicitação assíncrona para uma conexão de host remoto.

Sobrecargas

BeginConnect(EndPoint, AsyncCallback, Object)

Inicia uma solicitação assíncrona para uma conexão de host remoto.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um IPAddress e um número da porta.

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

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por uma matriz IPAddress e um número da porta.

BeginConnect(String, Int32, AsyncCallback, Object)

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um nome do host e um número da porta.

BeginConnect(EndPoint, AsyncCallback, Object)

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

Inicia uma solicitação assíncrona para uma conexão de host remoto.

public:
 IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, 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

Um EndPoint que representa o host remoto.

callback
AsyncCallback

O delegado AsyncCallback.

state
Object

Um objeto que contém informações de estado para essa solicitação.

Retornos

Um IAsyncResult que faz referência à conexão assíncrona.

Exceções

remoteEP é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

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

O Socket foi colocado em um estado de escuta chamando Listen(Int32) ou uma operação assíncrona já está em andamento.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Os protocolos orientados à conexão podem usar o BeginAccept método para começar a aceitar tentativas de conexão de entrada. A operação de aceitação resultante é representada pelo retornado IAsyncResult , embora possa ser concluída de forma síncrona. Antes de chamar o BeginAccept método , você deve chamar o Listen método para escutar e enfileirar solicitações de conexão de entrada.

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginAccept ser notificado sobre a conclusão da operação de aceitação. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada poderá ser executado embutido durante a chamada para BeginAccept. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para obter o objeto de estado passado para o BeginAccept método .

A BeginAccept operação deve ser concluída chamando o EndAccept método . Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndAccept bloqueará o thread de chamada 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 andamento, o retorno de chamada fornecido ao BeginAccept método é chamado. Uma chamada subsequente para o EndAccept método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

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

Observação

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

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

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

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um IPAddress e um número da 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);
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 host remoto.

port
Int32

O número da porta do host remoto.

requestCallback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação de conexão for concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de conexão. Esse objeto é passado para o delegado requestCallback quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à conexão assíncrona.

Exceções

address é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

O Socket não está na família do soquete.

O número da porta é inválido.

O comprimento de address é zero.

O Socket foi colocado em um estado de escuta chamando Listen(Int32) ou uma operação assíncrona já está em andamento.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Se você estiver usando um protocolo orientado à conexão, o BeginConnect método iniciará uma solicitação assíncrona para uma conexão com o endpoit especificado pelo remoteEP parâmetro . Se você estiver usando um protocolo sem conexão, BeginConnect estabelecerá um host remoto padrão.

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de conexão. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada poderá ser executado embutido durante a chamada para BeginConnect. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para obter o objeto de estado passado para o BeginConnect método .

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

Se você estiver usando um protocolo sem conexão, como UDP, não precisará chamar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom para se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagramas que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir o host remoto padrão como um endereço de transmissão, primeiro chame SetSocketOption e defina Difusão como true. Se você não puder, BeginConnect lançará um SocketException.

Se você estiver usando um protocolo orientado à conexão e não chamar Bind antes de chamar BeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número da porta mais apropriados. Se você estiver usando um protocolo sem conexão, o provedor de serviços não atribuirá um endereço de rede local e um número de porta até que você chame o BeginSend método ou ReceiveFrom . Se você quiser alterar o host remoto padrão, chame o BeginConnect método novamente com o ponto de extremidade 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 andamento, o retorno de chamada fornecido ao BeginConnect método é chamado. Uma chamada subsequente para o EndConnect método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

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

Observação

Se esse soquete tiver sido desconectado anteriormente, deverá BeginConnect ser chamado em um thread que não sairá até que a operação seja concluída. Essa é uma limitação do provedor subjacente.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

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

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

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por uma matriz IPAddress e um número da 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);
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 da porta do host remoto.

requestCallback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação de conexão for concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de conexão. Esse objeto é passado para o delegado requestCallback quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência a conexões assíncronas.

Exceções

addresses é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

Este método é válido para soquetes que usam InterNetwork ou InterNetworkV6.

O número da porta é inválido.

O comprimento de address é zero.

O Socket foi colocado em um estado de escuta chamando Listen(Int32) ou uma operação assíncrona já está em andamento.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Se você estiver usando um protocolo orientado à conexão, o BeginConnect método iniciará uma solicitação assíncrona para uma conexão com o endpoit especificado pelo remoteEP parâmetro . Se você estiver usando um protocolo sem conexão, BeginConnect estabelecerá um host remoto padrão.

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de conexão. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada poderá ser executado embutido durante a chamada para BeginConnect. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para obter o objeto de estado passado para o BeginConnect método .

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

Se você estiver usando um protocolo sem conexão, como UDP, não precisará chamar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom para se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagramas que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir o host remoto padrão como um endereço de transmissão, primeiro chame SetSocketOption e defina Difusão como true. Se você não puder, BeginConnect lançará um SocketException.

Se você estiver usando um protocolo orientado à conexão e não chamar Bind antes de chamar BeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número da porta mais apropriados. Se você estiver usando um protocolo sem conexão, o provedor de serviços não atribuirá um endereço de rede local e um número de porta até que você chame o BeginSend método ou ReceiveFrom . Se você quiser alterar o host remoto padrão, chame o BeginConnect método novamente com o ponto de extremidade 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 andamento, o retorno de chamada fornecido ao BeginConnect método é chamado. Uma chamada subsequente para o EndConnect método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

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

Observação

Se esse soquete tiver sido desconectado anteriormente, deverá BeginConnect ser chamado em um thread que não sairá até que a operação seja concluída. Essa é uma limitação do provedor subjacente.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

BeginConnect(String, Int32, AsyncCallback, Object)

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

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um nome do host e um número da 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);
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 host remoto.

port
Int32

O número da porta do host remoto.

requestCallback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação de conexão for concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de conexão. Esse objeto é passado para o delegado requestCallback quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à conexão assíncrona.

Exceções

host é null.

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

O número da porta é inválido.

O Socket foi colocado em um estado de escuta chamando Listen(Int32) ou uma operação assíncrona já está em andamento.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Se você estiver usando um protocolo orientado à conexão, o BeginConnect método iniciará uma solicitação assíncrona para uma conexão com o endpoit especificado pelo remoteEP parâmetro . Se você estiver usando um protocolo sem conexão, BeginConnect estabelecerá um host remoto padrão.

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginConnect ser notificado sobre a conclusão da operação de conexão. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada poderá ser executado embutido durante a chamada para BeginConnect. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para obter o objeto de estado passado para o BeginConnect método .

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

Se você estiver usando um protocolo sem conexão, como UDP, não precisará chamar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom para se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagramas que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir o host remoto padrão como um endereço de transmissão, primeiro chame SetSocketOption e defina Difusão como true. Se você não puder, BeginConnect lançará um SocketException.

Se você estiver usando um protocolo orientado à conexão e não chamar Bind antes de chamar BeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número da porta mais apropriados. Se você estiver usando um protocolo sem conexão, o provedor de serviços não atribuirá um endereço de rede local e um número de porta até que você chame o BeginSend método ou ReceiveFrom . Se você quiser alterar o host remoto padrão, chame o BeginConnect método novamente com o ponto de extremidade 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 andamento, o retorno de chamada fornecido ao BeginConnect método é chamado. Uma chamada subsequente para o EndConnect método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

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

Observação

Se esse soquete tiver sido desconectado anteriormente, BeginConnect deverá ser chamado em um thread que não será encerrado até que a operação seja concluída. Essa é uma limitação do provedor subjacente.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a