Partilhar via


Socket.BeginAccept Método

Definição

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 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. 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

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 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. 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

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

acceptSocket
Socket

O objeto Socket aceito. Este valor pode ser null.

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 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