Socket.ReceiveFromAsync(SocketAsyncEventArgs) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 usar para esta operação de soquete assíncrono.
Devoluções
true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será ativado após a conclusão da operação.
false se a operação de E/S fosse concluída de forma síncrona. Neste caso, o Completed evento sobre o e parâmetro não será levantado e o e objeto passado como parâmetro pode ser examinado imediatamente após o retorno da chamada ao método para recuperar o resultado da operação.
Exceções
Não RemoteEndPoint podem ser nulas.
Uma operação de socket já estava em curso usando o SocketAsyncEventArgs objeto especificado no e parâmetro.
O Socket local foi encerrado.
Ocorreu um erro ao tentar aceder ao soquete.
Observações
O ReceiveFromAsync método é usado principalmente para receber dados numa soquete sem ligação. O endereço local do socket deve ser conhecido.
O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade para a EndPoint do mesmo tipo que o endpoint do host remoto. A propriedade será atualizada após a receção bem-sucedida para o endpoint remoto real.
A SocketAsyncEventArgs.SocketFlags propriedade no e parâmetro fornece ao fornecedor de serviços Window Sockets informações adicionais sobre o pedido de leitura. Para mais informações sobre como usar este parâmetro, veja System.Net.Sockets.SocketFlags.
As seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto são necessárias para chamar com sucesso este método:
O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado do utilizador desejado antes de chamar o ReceiveFromAsync método, de modo a que a informação seja recuperável no método de retorno. Se o callback precisar de mais informação do que um único objeto, pode ser criada uma pequena classe para conter as outras informações de estado necessárias como membros.
Para sockets orientados a mensagens, uma mensagem recebida é colocada no buffer até ao tamanho total do buffer. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset determinam onde no buffer os dados são colocados e a quantidade de dados.
Para sockets em estilo fluxo de bytes, os dados recebidos são colocados no buffer até que o buffer seja preenchido, a ligação seja fechada ou os dados internamente armazenados sejam esgotados. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset determinam onde no buffer os dados são colocados e a quantidade de dados.