无法通过Xamarin C#上的LocalOnlyHotspot广播UDP数据包

问题描述

我在手机上发送和接收UDP数据包时遇到问题。 其中一个用作接收器,第二个用作发送器。 当我简单地运行本地热点,然后尝试广播UDP数据包时,出现 [错误]广播messageNetwork无法访问

发件人类别:

class MessageSender
    {
        public async System.Threading.Tasks.Task<int> SendbroadcastMessage(Context context,string text)
        {
            try
            {
                using (var client = new UdpClient())
                {
                    client.Enablebroadcast = true;
                    var endpoint = new IPEndPoint(IPAddress.broadcast,Utils.Port);
                    var message = Encoding.ASCII.GetBytes(text);
                    return await client.SendAsync(message,message.Length,endpoint);
                }
            }
            catch(Exception s)
            {
                Console.WriteLine("[Error] broadcasting message" + s.Message);
                return -999;
            }
        }
    }

接收器类:

class MessageReceiver
    {
        private readonly UdpClient _udpClient = new UdpClient(Utils.Port);
        public async System.Threading.Tasks.Task<UdpReceiveResult> StartListening(Context context)
        {
            _udpClient.Enablebroadcast = true;
            UdpReceiveResult result;
            try
            {
                while (true)
                {
                    result = await _udpClient.ReceiveAsync();
                    if (result.Buffer.Length > 0)
                        break;
                }
            }
            catch(Exception s)
            {
                Console.WriteLine("[ERROR] in Receiving packets" + s.Message);
            }
            return result;
        }
    } 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)