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 に答える
-1

構造体の各メンバーを比較するだけです。

于 2009-06-19T05:36:54.747 に答える