Пример ReceiveFromAsync - PullRequest
       8

Пример ReceiveFromAsync

3 голосов
/ 17 июня 2010

Есть ли у кого-нибудь пример работы ReceiveFromAsync с UDP?Я не мог найти образец кода.Я могу найти несколько примеров TCP, но msdn говорит: «Метод ReceiveFromAsync используется в основном для получения данных на сокете без соединения».

Спасибо, Ник

Ответы [ 2 ]

1 голос
/ 20 января 2016

Если производительность не имеет значения, быстрым и простым подходом может быть метод ReceiveAsync от UdpClient:

https://msdn.microsoft.com/de-de/library/system.net.sockets.udpclient.receiveasync(v=vs.110).aspx

Затем вы можете использовать результат (UdpReceiveResult) для фильтрации для конкретной удаленной конечной точки, откуда вы хотите получать данные. Вот небольшой пример:

private async void ReceiveBytesAsync(IPEndPoint filter)
{
    UdpReceiveResult receivedBytes  = await this._udpClient.ReceiveAsync();

    if (filter != null)
    {
        if (receivedBytes.RemoteEndPoint.Address.Equals(filter.Address) &&
                (receivedBytes.RemoteEndPoint.Port.Equals(filter.Port)))
        {
            // process received data
        }
    }
}
1 голос
/ 12 июля 2010

Возможно, может быть проще использовать асинхронный метод UdpClient BeginReceive ()?

http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.beginreceive.aspx

...