Socket.BeginAccept 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 operação assíncrona para aceitar uma tentativa de conexão de entrada.
Sobrecargas
BeginAccept(AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada. |
BeginAccept(Int32, AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada e recebe o primeiro bloco de dados enviado pelo aplicativo cliente. |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada de um soquete especificado e recebe o primeiro bloco de dados enviado pelo aplicativo cliente. |
BeginAccept(AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada.
public:
IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- 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 à criação assíncrona do Socket.
Exceções
O objeto Socket foi fechado.
O soquete de aceitação não está escutando conexões. É necessário chamar Bind(EndPoint) e Listen(Int32) antes de chamar BeginAccept(AsyncCallback, Object).
- ou -
O soquete aceito está associado.
receiveSize
é menor que 0.
.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.
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 Task
equivalentes baseados em .
Os protocolos orientados à conexão podem usar o BeginAccept método para começar a aceitar tentativas de conexão de entrada. 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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono
Aplica-se a
BeginAccept(Int32, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada e recebe o primeiro bloco de dados enviado pelo aplicativo cliente.
public:
IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- receiveSize
- Int32
O número de bytes a serem aceitos do remetente.
- 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 à criação assíncrona do Socket.
Exceções
O objeto Socket foi fechado.
O soquete de aceitação não está escutando conexões. É necessário chamar Bind(EndPoint) e Listen(Int32) antes de chamar BeginAccept(AsyncCallback, Object).
- ou -
O soquete aceito está associado.
receiveSize
é menor que 0.
.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.
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 Task
equivalentes baseados em .
Os protocolos orientados à conexão podem usar o BeginAccept método para começar a aceitar tentativas de conexão de entrada. 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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono
Aplica-se a
BeginAccept(Socket, Int32, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada de um soquete especificado e recebe o primeiro bloco de dados enviado pelo aplicativo cliente.
public:
IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- receiveSize
- Int32
O número máximo de bytes a serem recebidos.
- callback
- AsyncCallback
O delegado AsyncCallback.
- state
- Object
Um objeto que contém informações de estado para essa solicitação.
Retornos
Um objeto IAsyncResult que faz referência à criação do objeto Socket assíncrono.
Exceções
O objeto Socket foi fechado.
O soquete de aceitação não está escutando conexões. É necessário chamar Bind(EndPoint) e Listen(Int32) antes de chamar BeginAccept(AsyncCallback, Object).
- ou -
O soquete aceito está associado.
receiveSize
é menor que 0.
.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.
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 Task
equivalentes 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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Exemplo de soquete de cliente assíncrono
- Exemplo de soquete de servidor assíncrono