1

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

4

6 回答 6

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!");
}
于 2009-06-19T05:42:18.797 回答
1

我假设您已通过以下方式检索了 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());
于 2009-06-19T05:38:00.783 回答
1

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

于 2009-06-19T06:14:46.640 回答
0

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

于 2009-06-19T05:35:31.720 回答
0

您可以使用此类来扩展 IpAddress :

http://www.codeproject.com/Articles/26550/Extending-the-IPAddress-object-to-allow-relative-c

于 2015-07-28T20:53:12.837 回答
-1

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

于 2009-06-19T05:36:54.747 回答