【发布时间】:2017-07-01 09:46:05
【问题描述】:
我正在尝试将四位数字转换为 IP 地址。例如:
0001 ---> *.192.1.01
0011 ---> *.192.11.01
0111 ---> *.192.111.01
1111 ---> *.196.87.01
3458 ---> *.205.130.01
我相信子网掩码是 255.255.192.0。
对于在 vb.net 中执行此操作的最佳方式的任何建议,我将不胜感激。
其他信息:
这是一个简单的 pinger 程序,用户输入一个四位数字(他们希望 ping 的物理站点的 ID)。IP 寻址方案很简单,第 2 和第 3 个八位字节用作站点编号,并且第四个八位字节用作站点的设备。我没有设计这个方案,因此我不确定如何让 vb.net 理解它。
我的尝试:
我想过按照下面的方式来做,非常粗暴。但是,这最多只能工作到 *.192.255.01,因为我不知道一旦在八位字节 3 中超过 255,我不知道如何在两个八位字节之间拆分数字。
Private Sub btnStartPing(sender As Object, e As EventArgs) Handles btnStartPing.Click
Dim Octet1 As Integer = *
Dim Octet2 As Integer = 192
Dim Octet3 As Integer = txtSiteID.text
Dim Octet4 As Integer = 01
Dim CompleteIP As String = ""
CompletIP = Octet1 & "." & Octet2 & "." & Octet3 & "." & Octet4
'PING CompleteIP
end sub
解决方案:
Dim var1 As Integer = Fix(192 + (NumericUpDown1.Value / 256))
Dim var2 As Integer = Fix((NumericUpDown1.Value Mod 256))
MsgBox("Your IP address is: " & "10." & var1 & "." & var2 & "." & "200")
End Sub
【问题讨论】:
标签: vb.net network-programming ip-address