ReceiveFromAsync示例

时间:2010-06-17 18:31:07

标签: c# sockets udp asynchronous

任何人都有一个关于UDP的ReceiveFromAsync示例吗?我找不到任何示例代码。我可以找到一些TCP样本,但msdn说'ReceiveFromAsync方法主要用于接收无连接套接字上的数据'。

谢谢, 尼克

2 个答案:

答案 0 :(得分:1)

使用UdpClient的异步BeginReceive()方法可能更容易吗?

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

答案 1 :(得分:1)

如果不考虑性能,快速简单的方法可能是UdpClient的ReceiveAsync方法:

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
        }
    }
}