首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UDP发现代码无法接收UDP广播

UDP发现代码无法接收UDP广播
EN

Stack Overflow用户
提问于 2021-09-21 17:49:54
回答 1查看 31关注 0票数 0

我需要写一个移动应用程序(Xamarin)来发送UDP广播,然后有一个桌面应用程序(WPF/WinForms)收听UDP广播。我从下面的链接中获得了示例,但它不起作用。Xamarin应用程序看起来还可以,但是桌面应用程序从来没有通过“listener.Receive(ref...)”语句。我将非常感谢你的帮助。谢谢。

https://docs.microsoft.com/en-us/dotnet/framework/network-programming/using-udp-services

Xamarin服务器:

代码语言:javascript
复制
    private void StartUdpDiscovery()
    {
        Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

        IPAddress broadcast = IPAddress.Parse("192.168.1.255");

        //byte[] sendbuf = Encoding.ASCII.GetBytes(args[0]);
        IPEndPoint ep = new IPEndPoint(broadcast, 11000);

        byte[] data = new byte[2]; //broadcast data
        data[0] = 0x0A;
        data[1] = 0x60;
        s.SendTo(data, ep);

        Console.WriteLine("Message sent to the broadcast address");
    }

桌面客户端/监听程序:

代码语言:javascript
复制
    private void StartUdpListener()
    {
        UdpClient listener = new UdpClient(listenPort);
        //IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, listenPort);
        IPEndPoint groupEP = new IPEndPoint(IPAddress.Parse("192.168.1.255"), listenPort);

        try
        {
            while (true)
            {
                Console.WriteLine("Waiting for broadcast");
                byte[] bytes = listener.Receive(ref groupEP); // NOTE: THE DEBUGGER STALLS HERE AND NEVER MOVES ON...

                Console.WriteLine($"Received broadcast from {groupEP} :");
                Console.WriteLine($" {Encoding.ASCII.GetString(bytes, 0, bytes.Length)}");
            }
        }
        catch (SocketException e)
        {
            Console.WriteLine(e);
        }
        finally
        {
            listener.Close();
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2021-09-22 19:43:08

原来IP地址是错误的。

代码语言:javascript
复制
    IPAddress broadcast = IPAddress.Parse("192.168.1.255");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69273408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档