如何比较IP地址

时间:2009-06-19 05:30:37

标签: c# sockets ip-address

如何将存储在Ip [0]数组中的IP地址与远程端点进行比较?请帮助我。

6 个答案:

答案 0 :(得分:11)

这样的事情应该有用......

var ips = new[] { IPAddress.Parse( "127.0.0.1"),
                   IPAddress.Parse( "192.168.1.1"),
                   IPAddress.Parse( "10.0.0.1" ) };

var ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);

if (ips[0].Equals(ep.Address))
{
    Console.WriteLine("Equal!");
}

答案 1 :(得分:2)

我假设你已经通过

检索了IP地址
System.Net.EndPoint ep = client.Client.RemoteEndPoint;
System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;

如果是这种情况,您可以通过

进行比较
System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;
ip.ToString();
if(Ip[0] == ip.toString());

答案 2 :(得分:1)

以上所有变体都可以使用,但这里没有提到另一种选择: 使用IpAddress GetAddressBytes方法获取字节地址并进行比较。如果您需要进行其他处理(例如确定Ip是否属于IP类或类似内容),这可能很有用。

答案 3 :(得分:0)

嗯,你可以得到它们:ToString()然后比较它们。或者你可以遍历IPV4 ip所拥有的4个数字,并进行比较。

答案 4 :(得分:0)

答案 5 :(得分:-1)

只需比较结构的每个成员。