Socket.ReceiveFromAsync(SocketAsyncEventArgs) 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.
Começa a receber dados de forma assíncrona de um dispositivo de rede especificado.
public:
bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean
Parâmetros
O SocketAsyncEventArgs objeto a ser usado para esta operação de soquete assíncrona.
Retornos
true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será gerado após a conclusão da operação.
false se a operação de E/S for concluída de forma síncrona. Nesse caso, Completed o e evento no parâmetro não será gerado e o e objeto passado como um parâmetro poderá ser examinado imediatamente após a chamada do método retornar para recuperar o resultado da operação.
Exceções
Não RemoteEndPoint pode ser nulo.
Uma operação de soquete já estava em andamento usando o SocketAsyncEventArgs objeto especificado no e parâmetro.
O Socket foi fechado.
Erro ao tentar acessar o soquete.
Comentários
O ReceiveFromAsync método é usado principalmente para receber dados em um soquete sem conexão. O endereço local do soquete deve ser conhecido.
O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade como um EndPoint do mesmo tipo que o ponto de extremidade do host remoto. A propriedade será atualizada no recebimento bem-sucedido para o ponto de extremidade remoto real.
A SocketAsyncEventArgs.SocketFlags propriedade no e parâmetro fornece ao provedor de serviços Window Sockets informações adicionais sobre a solicitação de leitura. Para obter mais informações sobre como usar esse parâmetro, consulte System.Net.Sockets.SocketFlags.
As seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto são necessários para chamar esse método com êxito:
O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado de usuário desejado antes de chamar o ReceiveFromAsync método, para que as informações sejam recuperáveis no método de retorno de chamada. Se o retorno de chamada precisar de mais informações do que um único objeto, uma classe pequena poderá ser criada para manter as outras informações de estado necessárias como membros.
Para soquetes orientados à mensagem, uma mensagem de entrada é colocada no buffer até o tamanho total do buffer. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset as propriedades determinam onde no buffer os dados são colocados e a quantidade de dados.
Para soquetes no estilo de fluxo de bytes, os dados de entrada são colocados no buffer até que o buffer seja preenchido, a conexão seja fechada ou os dados armazenados em buffer interno sejam esgotados. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset as propriedades determinam onde no buffer os dados são colocados e a quantidade de dados.