0

重複の可能性:
ローカルIPアドレスc#を取得

現在、私のWebサイトにログインしている各マシンのIPアドレスを取得するために次のコードを使用しています。私のウェブサイトがイントラネットサーバーにある場合は正常に機能していますが、同じコードがカスタマーサーバーにデプロイされていて、のようにカスタマーアプリケーションのURLを使用して自分の場所からサイトにアクセスしている場合(http://123.23.45.89/MyProd/App.htm)は、サーバーアドレスのIPアドレスが更新されます、私のローカルマシンのIPではありません。

string IP4Address = String.Empty;

foreach (IPAddress IPA in Dns.GetHostAddresses(Request.ServerVariables["REMOTE_ADDR"].ToString())))
{
  if (IPA.AddressFamily.ToString() == "InterNetwork")
  {
    IP4Address = IPA.ToString();
    break;
  }
}

if (IP4Address != String.Empty)
{
  return IP4Address;
}

foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
  if (IPA.AddressFamily.ToString() == "InterNetwork")
  {
    IP4Address = IPA.ToString();
    break;
  }
}

return IP4Address;

個々のPCのIPアドレスを見つける他の方法がある場合(インターネットネットワーク全体で任意のマシンからローカルIPアドレスを見つけるなど)

4

1 に答える 1

2

私の知る限り、LANネットワークから外部サーバーへのすべての接続には、ネットワーク(通常はルーター)のWAN Ipがあります。:(

于 2013-01-28T12:00:40.433 に答える