c# UdpClient 无法接收到广播数据

设备与电脑使用网线直连,设备通过广播模式向固定端口发送数据。现在需要我这边使用进行数据接收。但我使用C# 的udpClient一直收不到数据。
但网络调试助手是可以收到的,因此排除了电脑原因。
下面是我的代码:我尝试了使用线程方式与异步方式都无法接收到数据。
求帮助啊

 public AsyncUDP(IPAddress localIPAddress, int listenPort, int maxClient)
        {
            this.Address = localIPAddress;
            this.Port = listenPort;
            this.Encoding = Encoding.Default; 
            _maxClient = maxClient;
            //_clients = new List<AsyncUDPSocketState>();
            _server = new UdpClient(new IPEndPoint( Address,Port));  
            _server.EnableBroadcast = true;
              //Task.Factory.StartNew(() => { Receive(); });
                 _server.BeginReceive(ReceiveDataAsync, null);
        }
//使用线程方式接收
  private void Receive()
        {
            while (IsRunning)
            {
                

                IPEndPoint ip = new IPEndPoint(IPAddress.Any,0);
                var bytes = _server.Receive(ref ip);
                Console.WriteLine("接收:"+bytes.Length);
            }
        }
//使用异步方式接收
       private void ReceiveDataAsync(IAsyncResult ar)
        {
            IPEndPoint remote = null;
            byte[] buffer = null;
            try
            {
                buffer = _server.EndReceive(ar, ref remote);
                AsyncUDPState state = new AsyncUDPState();
                state.buffer = buffer;
                state.remote = remote;
                //触发数据收到事件
                RaiseDataReceived(state);
            }
            catch (Exception)
            {
                //TODO 处理异常
                RaiseOtherException(null);
            }
            finally
            {
                if (IsRunning && _server != null)
                    _server.BeginReceive(ReceiveDataAsync, null);
            }
        }


private void button1_Click(object sender, EventArgs e)
        {
            int port = int.Parse(textBox2.Text);
            Socket sock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint iep =
            new IPEndPoint(IPAddress.Any, port);
            sock.Bind(iep);
            EndPoint ep = (EndPoint)iep;
            log("Ready to receive…");

            Task.Run(()=> {
                while (true)
                {
                    byte[] data = new byte[1024];
                    int recv = sock.ReceiveFrom(data, ref ep);
                    string stringData = Encoding.UTF8.GetString(data, 0, recv);
                    log(stringData);
                }                
            });         
        }

        void log(string txt)
        {
            textBox1.Text += txt + "\r\n";
        }

udp通讯注意事项:
1.要启动线程;
2.检查发送和接收端口是否准确;
3.如果是本机通讯,插了网线可以用IP,没插入网线情况下只能使用127.0.0.1或者localhost