【问题标题】:ReceiveFromAsync ExampleReceiveFromAsync 示例
【发布时间】:2011-03-05 02:46:45
【问题描述】:

有没有人有关于 UDP 的 ReceiveFromAsync 工作的示例?我找不到任何示例代码。我可以找到一些 TCP 示例,但 msdn 说“ReceiveFromAsync 方法主要用于在无连接套接字上接收数据”。

谢谢, 尼克

【问题讨论】:

    标签: c# sockets udp asynchronous


    【解决方案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
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      也许使用 UdpClient 的 async BeginReceive() 方法可能更容易?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-22
        • 2011-11-21
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多