Получить IP-адрес удаленного клиента без ввода DNS в VB.Net - PullRequest
0 голосов
/ 11 ноября 2008

У меня есть приложение Windows Forms, работающее на терминальном сервере. Мне нужно определить IP-адреса каждой клиентской машины.

Я нашел способ получить IP-адрес для компьютеров с записями DNS (пример ниже), но некоторые из моих тонких клиентов были настроены на использование статических IP-адресов и не имели имени DNS. Есть ли способ определить IP-адрес удаленного клиента без DNS-имени?

Dim clientName As String = My.Computer.Network.ClientName 
Dim IPHost As Net.IPHostEntry = Net.Dns.Resolve(clientName & "domain.com") 
Dim addresses As Net.IPAddress() = IPHost.AddressList
fullIP = addresses(0).ToString()

1 Ответ

1 голос
/ 11 ноября 2008

Чтобы получить основной IP-адрес, вы можете использовать:

System.Net.Dns.GetHostEntry("").AddressList(0).ToString

Это может вернуть IP6-адрес, в этом случае вы можете попытаться найти IP4, используя:

Dim ipentry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry("")

For i As Integer = 0 To ipentry.AddressList.Count - 1
    MsgBox(System.Net.Dns.GetHostEntry("").AddressList(i).ToString)
Next
...