如何读取发送到255.255.255.255的udp报文

本文关键字:udp 报文 何读取 读取 | 更新日期: 2023-09-27 18:03:05

我有一个在iPhone上运行的应用程序,它正在广播UDP数据包。我想写一个控制台应用程序,读取我的PC上的UDP数据包。我尝试了这个例子,无法读取任何数据包:

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

我使用wireshark并验证了UDP数据包在给定端口上被发送到255.255.255.255。如何在c#应用程序中读取数据包?

谢谢!

如何读取发送到255.255.255.255的udp报文

这是一个简单的监听器的c#代码,它应该是好的,但我写在我的Mac上,所以我不能测试它。

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class UDPListener
{
    public static int Main()
    {
        var done = false;
        var listener = new UdpClient(31337);
        var ipe = new IPEndPoint("255.255.255.255", 31337);
        var data = String.Empty;
        byte[] rec_array;
        try
        {
            while (!done)
            {
                rec_array = listener.Receive(ref ipe);
                Console.WriteLine("Received a broadcast from {0}", ipe.ToString() );
                data = Encoding.ASCII.GetString(rec_array, 0, rec_array.Length);
                Console.WriteLine("Received: {0}'r'rn", data);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
        listener.Close();
        return 0;
    }
}