X13.Periphery.MsDevice.MsGUdp.Open C# (CSharp) Метод

Open() публичный статический Метод

public static Open ( ) : void
Результат void
      public static void Open() {
        _myIps=Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(z => z.AddressFamily==AddressFamily.InterNetwork).Union(new IPAddress[] { IPAddress.Loopback }).Select(z => z.GetAddressBytes()).ToArray();
        List<IPAddress> bc=new List<IPAddress>();
        try {
          foreach(var nic in NetworkInterface.GetAllNetworkInterfaces()) {
            var ipProps = nic.GetIPProperties();
            var ipv4Addrs = ipProps.UnicastAddresses.Where(addr => addr.Address.AddressFamily == AddressFamily.InterNetwork);
            foreach(var addr in ipv4Addrs) {
              if(addr.IPv4Mask == null)
                continue;
              var ip = addr.Address.GetAddressBytes();
              var mask = addr.IPv4Mask.GetAddressBytes();
              var result = new Byte[4];
              for(int i = 0; i < 4; ++i) {
                result[i] = (Byte)(ip[i] | (mask[i]^255));
              }
              bc.Add(new IPAddress(result));
            }
          }
        }
        catch(Exception) {    // MONO: NotImplementedException
        }
        if(bc.Count==0) {
          bc.Add(new IPAddress(new byte[] { 255, 255, 255, 255 }));
        }
        _bcIps=bc.ToArray();

        MsGUdp ret;
        if(_gates!=null) {
          lock(_gates) {
            if(_gates.Count==0 || (ret=(_gates[0] as MsGUdp))==null) {
              ret=new MsGUdp();
            }
          }
        }
      }
      public static void Close() {