Socket.EndReceiveMessageFrom Método

Definição

Termina uma leitura assíncrona pendente de um endpoint específico. Este método também revela mais informação sobre o pacote do que EndReceiveFrom(IAsyncResult, EndPoint).

public:
 int EndReceiveMessageFrom(IAsyncResult ^ asyncResult, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % endPoint, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int EndReceiveMessageFrom(IAsyncResult asyncResult, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint endPoint, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.EndReceiveMessageFrom : IAsyncResult * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function EndReceiveMessageFrom (asyncResult As IAsyncResult, ByRef socketFlags As SocketFlags, ByRef endPoint As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer

Parâmetros

asyncResult
IAsyncResult

E IAsyncResult que armazena informação de estado e quaisquer dados definidos pelo utilizador para esta operação assíncrona.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores do pacote recebido.

endPoint
EndPoint

A fonte EndPoint.

ipPacketInformation
IPPacketInformation

A IPAddress interface e do pacote recebido.

Devoluções

Se for bem-sucedido, o número de bytes recebidos. Se não for bem-sucedido, devolve 0.

Exceções

asyncResult é null

-ou-

endPoint é null.

Ocorreu um erro ao tentar aceder ao soquete.

-ou-

.NET apenas 7+: O Socket foi encerrado.

.NET Framework, .NET Core e .NET 5-6 apenas: O Socket foi encerrado.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

EndReceiveFrom completa a operação iniciada por BeginReceiveFrom. Tem de passar a decisão IAsyncResult criada pela chamada correspondente BeginReceiveFrom . EndReceiveFrom irá bloquear o thread que chama até que a operação seja concluída.

Verifique ipPacketInformation se precisa de saber se o datagrama foi enviado através de um endereço unicast, multicast ou broadcast.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Aplica-se a