如何将存储在 Ip[0] 数组中的 IP 地址与远程端点进行比较?请帮我。
问问题
7475 次
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 回答