private void ProcessDataReceived(byte[] data, IPEndPoint ipEndPoint)
 {
     if (data.Length > 0)
     {
         bool isLocal = LocalIpAddress.Equals(ipEndPoint.Address);
         if (!isLocal || AllowLocal)
         {
             var networkData = new NetworkData(Encoding.UTF8.GetString(data));
             if (networkData.NetworkName != NetworkName)
             {
                 return;
             }
             if (networkData.ServiceName != ServiceName)
             {
                 return;
             }
             NetworkDataReceived?.Invoke(this, new NetworkDataReceived
             {
                 Data      = networkData,
                 IpAddress = ipEndPoint.Address.ToString(),
                 Port      = ipEndPoint.Port,
                 IsLocal   = isLocal
             });
         }
     }
 }
        /// <summary>
        /// 寻找局域网设备
        /// </summary>
        public void FindPeer()
        {
            // 实际是反过来,让其他设备询问
            StartMulticast();

            var message = LocalIpAddress.ToString();

            SendBroadcastMessage(message);
            // 先发送再获取消息,这样就不会收到自己发送的消息
            ReceivedMessage += (s, e) => { Console.WriteLine($"找到 {e}"); };
        }