Socket.EndReceiveMessageFrom Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Завершает отложенное асинхронное чтение с определенной конечной точки. Этот метод также показывает больше информации о пакете, чем метод 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
Параметры
- asyncResult
- IAsyncResult
Объект IAsyncResult, в котором хранятся сведения о состоянии и любые данные, определенные пользователем, для этой асинхронной операции.
- socketFlags
- SocketFlags
Поразрядное сочетание значений перечисления SocketFlags для принятого пакета.
- ipPacketInformation
- IPPacketInformation
Объект IPAddress и интерфейс полученного пакета.
Возвращаемое значение
Количество полученных байтов, если операция успешно выполнена. Возвращает значение 0, если операция завершилась неудачей.
Исключения
Параметр asyncResult
не был возвращен вызовом метода BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
Метод EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) был ранее вызван для асинхронного чтения.
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Комментарии
Если операция не завершена, этот метод блокируется до тех пор, пока это не будет выполнено.
Чтобы выполнить эту операцию синхронно, используйте ReceiveMessageFrom метод.
Проверьте ipPacketInformation
, нужно ли узнать, была ли датаграмма отправлена с помощью одноадресной рассылки, многоадресной рассылки или широковещательного адреса.