3

vb.netでクライアントIDを取得しようとしています。私のコードは以下の通りです:

Partial Class foo
  Inherits System.Web.UI.Page
  Private ipv4 As New clsIPv4
  Dim ref As String = 0   

  Dim client_ip As String
  client_ip = Request.UserHostAddress()
  Dim myHost As String = System.Net.Dns.GetHostName()
  client_ip = ipv4.ResolveAddress(myHost)

このコードは、IPアドレスのリストを返します(つまり、182.50.130.143; 118.139.172.1; 118.139.172.2; 118.139.172.3; 118.139.172.4; 118.139.172.5; 118.139.172.6; 118.139.172.7; 118.139.172.8; 118.139.172.9 ; 118.139.172.10; 118.139.172.11; 118.139.172.12; 118.139.172.13; 118.139.172.14; 118.139.172.15; 118.139.172.16; 118.139.172.17; 118.139.172.18; 118.139.172.19; 118.139.172.20; 118.139.172.21; .172.22; 118.139.172.23; 118.139.172.24; 118.139.172.25; 118.139.172.26; 118)。

私が間違っているところを教えてください

4

2 に答える 2

11

ASP.NET を使用している場合は、以下を使用Request.UserHostAddress してクライアント IP アドレスを取得できます。

しかし、Windows アプリケーションを使用してローカル IP アドレスを取得している場合、実際には複数の IP アドレスを受け取る可能性があります。この場合、IP アドレスの netid 部分がわかっている特定のアドレスを取得したい場合は、すべての IP アドレスを対応する netid アドレスと比較できます。

于 2012-09-12T18:23:07.370 に答える