string myHost = System.Net.Dns.GetHostName();
string myIP =
System.Net.Dns.GetHostByName(myHost).AddressList[0].ToString();
MessageBox.Show(myIP);
TextReader read = new StreamReader(//Text file with network address);
var ip = read.ReadLine();
read.Close();
if (ip == //Need help with this part)
MessageBox.Show("You are on the network");
else
MessageBox.Show("You are not on the network");
我可以获取我的计算机地址但我需要将其与网络地址进行比较,如果它属于该网络地址以显示它是。
答案 0 :(得分:0)
如果您的IP无效时程序崩溃,您可以将其更改为检查该异常的try catch(运行并崩溃以查找异常)。这就是我在Lidgren多人游戏中验证IP的方法。
虽然这可能不是最好的方法,但它确实有用。
答案 1 :(得分:0)
以下问题的接受答案告诉您需要知道的一切:
答案 2 :(得分:0)
我推荐可以在codeplex上找到的IPNetwork实用程序。它非常灵活和强大。它将允许您执行很多操作,并确定给定IP地址的网络就是其中之一。
http://ipnetwork.codeplex.com/
代码应如下所示:
var ipnetwork = IPNetwork.Parse(ip);
if (ipnetwork.Contains(myIp)) {
// do some work...
答案 3 :(得分:0)
查看ip是否在范围内的一种简单方法是将ip以及范围的开始和结束转换为long(可以编写一个函数以便从IP地址转换为long)。然后查看ip是否在两个数字之间。
例如:
要检查的IP:172.17.1.25 - 转换为long - > 172017001025
范围:
开始 - 172.0.0.0 - 转换为长 - > 1720亿
结束 - 172.255.255.255 - 转换为长 - > 172255255255
现在只检查ip是否在起始值和结束值之间。