Hey,大家好!今天咱们来聊聊网络技术里面的小门道——如何快速判断IP地址是内网还是外网, 这dui与我们开发.NET服务可是fei常重要的哦!
内网IP顾名思义,就是在内网中使用的IP地址。简单就是在一个局域网内部,比如家里的路由器下面连接的电脑,它们dou处于同一个内网中。 我始终觉得... 这种IP地址是Ke以重复的,主要原因是局域网Ke以有hen多个,dan是一旦出了这个局域网,就无法访问这个内网IP了。
而公网IP就厉害了它是互联网中唯一的地址,不会出现重复的情况。公网IPKe以被互联网中其他的电脑直接访问到, suo以一般作为服务器的电脑,我们dou要保证这台电脑有一个公网IP,这样才Nenggeng好地给外网用户提供服务。
想知道自己的IP是外网还是内网?下面两个方法Ke以帮到你:
注意:属于内网IP段的肯定是内网IP,但不在内网IP段的不一定是公网IP哦,好吧...!
分辨一个IP地址是公网IP还是内网IP,先说说确保内网Ke以正常访问。ran后在外网和跨网环境kankanNeng不Nengtong过IP访问。
操作一波。 Ru果没有公网IP, 想要将内网IP端口映射出去提供互联网访问,Ke以使用端口映射工具,比如nat123端口映射。具体操作如下:
在工作时 需要获取服务器公网IP(外网IP),bing且判断该IP地址是属于网通还是电信。下面是一个简单的C#代码示例, 用于获取外网IP:
/// summary /// 获取外网IP /// /summary /// returns IP /// /returns public static string GetOuterIP() { string IP = string.Empty; Uri uri = new Uri("http://www.example.com/"); System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri); req.Method = "get"; using (System.IO.Stream s = req.GetResponse().GetResponseStream()) { using (System.IO.StreamReader reader = new System.IO.StreamReader(s)) { char ch = {''}; string str = reader.ReadToEnd(); IP = str.Substring(str.IndexOf(ch) + 1, str.IndexOf(ch) - str.IndexOf(ch) - 1); } } return IP; }
tong过本文的介绍,相信大家对如何判断IP地址内外网以及获取.NET服务IP的方法有了geng深入的了解。希望这些技巧Neng帮助到大家在开发过程中遇到的问题。