| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Net;
 
- namespace Aitex.Core.Utilities
 
- {
 
-     public static class Network
 
-     {
 
-         const string IpPrefix = "192.18.";
 
-         static string _localIP;
 
-         public static string LocalIP
 
-         {
 
-             get
 
-             {
 
-                 if (string.IsNullOrWhiteSpace(_localIP))
 
-                 {
 
-                     string hostName = Dns.GetHostName();
 
-                     IPHostEntry me = Dns.GetHostEntry(hostName);
 
-                     IPAddress[] ips = me.AddressList;
 
-                     Func<IPAddress, bool> predicateIPV4 = ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork;
 
-                     Func<IPAddress, bool> predicate192 = ip => predicateIPV4(ip) && ip.ToString().StartsWith(IpPrefix);
 
-                     _localIP = ips.Any(predicate192) ? ips.First(predicate192).ToString()
 
-                         : ips.Any(predicateIPV4) ? ips.First(predicateIPV4).ToString()
 
-                         : (ips.Length > 0 ? ips[0]: new IPAddress(0x0)).ToString();
 
-                 }
 
-                 return _localIP;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |