新聞中心
VB.NET2010 怎么獲取IP
1.獲取當(dāng)前電腦名:System.Net.Dns.GetHostName()
十余年的海安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整海安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“海安網(wǎng)站設(shè)計(jì)”,“海安網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
2.根據(jù)電腦名取出全部IP地址:System.Net.Dns.Resolve(電腦名).AddressList
或者 System.Net.Dns.GetHostByName(電腦名).AddressList
3.根據(jù)IP地址取出電腦名:System.Net.Dns.Resolve(IP地址).HostName
求大神指點(diǎn)vb.net 怎么判斷 網(wǎng)絡(luò)是否連接 和取本機(jī)局域網(wǎng)IP和互聯(lián)網(wǎng)IP
你這段代碼可以獲得該主機(jī)名下的所有ip,每個(gè)ip地址都是有類(lèi)型簇的,可以區(qū)別本地地址和網(wǎng)絡(luò)地址、ip6地址。
你獲取索引為0的ip,不一定是正確的網(wǎng)絡(luò)地址,它有時(shí)順序在中間,在后面。
應(yīng)該獲取所有ip,再通過(guò)ip地址簇類(lèi)型區(qū)分
判斷連接本身有一個(gè)函數(shù),不過(guò)有時(shí)沒(méi)聯(lián)網(wǎng)也是真。
可以用ping,ping百度、ping訪問(wèn)速度快、不經(jīng)常維護(hù)斷線的網(wǎng)絡(luò)主機(jī)。
vb.net如何獲取IP地址?
做exe程序獲取本機(jī)IP地址用
System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList
做web程序獲取客戶端的IP地址用
HttpContext.Current.Request.ServerVariables("REMOTE_ADDR"])
用vb.net取得IP重復(fù)問(wèn)題(如何判斷是IPv4還是IPv6)
這兒有一個(gè)C#的參考
我給改寫(xiě)成了VB.net?看看你能用上不?
Imports System.Diagnostics
Imports System.Text.RegularExpressions
Module mdlIpDns
Public Function RunCMD(ByVal FileName As String, ByVal Arguments As String, ByVal RecordLog As Boolean) As String
REM 運(yùn)行一個(gè)控制臺(tái)程序并返回其輸出參數(shù)
Try
If RecordLog = True Then Trace.WriteLine(FileName + " " + Arguments)
Dim myProc As Process = New Process
myProc.StartInfo.FileName = FileName
myProc.StartInfo.CreateNoWindow = True
myProc.StartInfo.Arguments = Arguments
myProc.StartInfo.RedirectStandardOutput = True
myProc.StartInfo.UseShellExecute = False
myProc.Start()
Dim myStreamReader As System.IO.StreamReader = New System.IO.StreamReader(myProc.StandardOutput.BaseStream, System.Text.Encoding.Default)
Dim myText As String = myStreamReader.ReadToEnd
myStreamReader.Close()
If RecordLog = True Then Trace.WriteLine(myText)
If Not myProc.HasExited Then myProc.Kill()
Return myText
Catch ex As Exception
Trace.WriteLine(ex.ToString)
Return vbNull
End Try
End Function
Public Function GetAllIp() As String
REM 獲取本機(jī)全部網(wǎng)卡的IP地址
GetAllIp = ""
Dim Address() As System.Net.IPAddress
Dim i As Integer
Address = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList
For i = 0 To UBound(Address)
GetAllIp = GetAllIp (Chr(13) Address(i).ToString())
Next
End Function
Public Function GetPrimaryDNS() As String
REM 獲取本機(jī)主DNS
GetPrimaryDNS = ""
Dim m As System.Text.RegularExpressions.Match
Dim myResult As String = RunCMD("nslookup", "", True) '需要RunCMD.mdl
m = Regex.Match(myResult, "\d+\.\d+\.\d+\.\d+")
If m.Success Then
Return m.Value
Else
Return vbNull
End If
End Function
Public Function GetLocalIP() As String
REM 獲取本機(jī)正在使用的IPv4地址
REM 1.一個(gè)電腦有多個(gè)網(wǎng)卡,有線的、無(wú)線的、還有VMare虛擬的兩個(gè)網(wǎng)卡。
REM 2.就算只有一個(gè)網(wǎng)卡,但是該網(wǎng)卡配置了N個(gè)IP地址.其中還包括IPv6地址。
REM 3.下面通過(guò)查詢本機(jī)路由表,獲取訪問(wèn)默認(rèn)網(wǎng)關(guān)時(shí)使用的網(wǎng)卡IP。
Dim m As System.Text.RegularExpressions.Match
Dim myResult As String = RunCMD("route", "print", True) '需要RunCMD.mdl
m = Regex.Match(myResult, "0.0.0.0\s+0.0.0.0\s+(\d+.\d+.\d+.\d+)\s+(\d+.\d+.\d+.\d+)")
If m.Success Then
Return m.Groups(2).Value
Else
Try
Dim myTcpClient As System.Net.Sockets.TcpClient = New System.Net.Sockets.TcpClient
myTcpClient.Connect("", 80) '連接百度判斷IP
Dim myIpPoint As System.Net.IPEndPoint = myTcpClient.Client.LocalEndPoint
Dim myIp As String = myIpPoint.Address.ToString
myTcpClient.Close()
Return myIp
Catch ex As Exception
Return vbNull
End Try
End If
End Function
End Module
標(biāo)題名稱:vb.net獲取lp6 vb程序提取ip地址
鏈接分享:http://www.dlmjj.cn/article/dojgdii.html