Socket.BeginConnect Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.
O Socket foi fechado.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling de um delegado como um método de retorno de chamada
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono
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
- 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 foi fechado.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling de um delegado como um método de retorno de chamada
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono
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
- 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.
O Socket foi fechado.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling de um delegado como um método de retorno de chamada
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono
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.
O Socket foi fechado.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling de um delegado como um método de retorno de chamada
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono