Partilhar via


Socket.BeginConnect Método

Definição

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

Sobrecargas

Nome Description
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 número de porta e um IPAddress número de porta.

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

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

BeginConnect(EndPoint, AsyncCallback, Object)

Origem:
Socket.cs
Origem:
Socket.cs
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 AsyncCallback delegado.

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.

Ele 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 o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.

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 para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult 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 ao 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 gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .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
Origem:
Socket.cs
Origem:
Socket.cs

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

port
Int32

O número da porta do host remoto.

requestCallback
AsyncCallback

Um AsyncCallback delegado 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 requestCallback delegado 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 não é válido.

O comprimento é address zero.

Ele 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 o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.

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 para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult 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á ligar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagrams que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir seu host remoto padrão para 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 antes de chamar BindBeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número de 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 método ou ReceiveFrom o BeginSend método. 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 ao 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 gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .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
Origem:
Socket.cs
Origem:
Socket.cs

Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por uma IPAddress matriz 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);
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 AsyncCallback delegado 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 requestCallback delegado quando a operação é concluída.

Retornos

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

Exceções

addresses é null.

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

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

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

O comprimento é addresses zero.

Ele 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 o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.

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 para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult 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á ligar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagrams que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir seu host remoto padrão para 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 antes de chamar BindBeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número de 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 método ou ReceiveFrom o BeginSend método. 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 ao 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 gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .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
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 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);
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 AsyncCallback delegado 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 requestCallback delegado quando a operação é concluída.

Retornos

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

Exceções

host é null.

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

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

Ele 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 o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.

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 para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult 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á ligar BeginConnect antes de enviar e receber dados. Você pode usar BeginSendTo e BeginReceiveFrom se comunicar com um host remoto. Se você chamar BeginConnect, todos os datagrams que chegarem de um endereço diferente do padrão especificado serão descartados. Se você quiser definir seu host remoto padrão para 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 antes de chamar BindBeginConnect, o provedor de serviços subjacente atribuirá o endereço de rede local e o número de 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 método ou ReceiveFrom o BeginSend método. 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 ao 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 gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .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