比如 192.168.0.1 是局域网的IP219.150.150.238 是广域网的IP这怎么用程序来判断呢?
解决方案 »
- 多次执行SQL语句
- 关于如何将execl表格像word中转换的问题
- 关于winsock通信问题(高分)
- 关于将数据库中表中的数值与COMBO的问题
- 为什么“至少一个参数没有被指定”?
- access中,如果数字类型的字段名为数字,SELECT语句如何写?
- 求助:Treeview控件当某节点没有子节点时,我也想在该节点显示“+”号,该怎么办?
- 关于制作报表的2个问题(设计水晶报表满足奇怪样式,用VB对Excel中某列的样式控制)
- 最后一个问题:如何控制DataReport里面的Label(在线等待)
- 一个很菜的问题 会者不难
- 怎样定义字节的个数?
- 在vs flexgrid8中能直接导出excel,但一些数据类型导出有问题,大家是如可解决的。
模拟过一个游戏网站的IP地址,一样是208.184...的IP地址,还模拟的 DNS
让游戏客户端连接我的程序相互通讯,这时我没有连接到Internet,通过局
域网访问其他的电脑也可以。所以说地址段并不能解决问题。
得到(如果是局域网代理上Internet),然后利用internet网站反弹广域网IP。这样可以分别得到局域网和广域网的IP,不必做特殊说明来分辨。如果反弹广域网IP失败,说明没有上广域网,那么只有MyIP,也就是局域网IP。
补充:至于分辨219.150.150.238 是广域网IP还是局域网IP,都有可能,只要通过反弹就知道是不是广域网的,不是的话就是局域网的。192.168.0.1 肯定是局域网的,不用分辨了……
怎样利用局域网IP反弹广域网IP。
很感谢你。
cIPstr=inputbox("请输入要判断的IP地址:")
if msgbox(cIPstr & "是一个广域网地址吗?",vbyesno,"提示:")=vbyes then
msgbox(cIPstr & "是一个广域网地址!")
else
msgbox(cIPstr & "是一个局域网地址!")
end if
呵呵,厉害吧!:p
Private Declare Function GetAdaptersInfo Lib "iphlpapi.dll" (pTcpTable As Any, pdwSize As Long) As Long
Private Type IP_ADAPTER_INFO
dwNext As Long
ComboIndex As Long '保留
sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3)) As Byte
sDescription(0 To (MAX_ADAPTER_DESCRIPTION_LENGTH + 3)) As Byte
dwAddressLength As Long
sIPAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1)) As Byte
dwIndex As Long
uType As Long
uDhcpEnabled As Long
CurrentIpAddress As Long
IpAddressList As IP_ADDR_STRING
GatewayList As IP_ADDR_STRING
DhcpServer As IP_ADDR_STRING
bHaveWins As Long
PrimaryWinsServer As IP_ADDR_STRING
SecondaryWinsServer As IP_ADDR_STRING
LeaseObtained As Long
LeaseExpires As Long
End Type
自己去找些相关资料去研究下IP Helper机制吧。
我的经验,uType=6是局域网,其他是广域网。不过IP Helper不适用于带网关路由或硬件防火墙的情况。要全部都适用,就要使用ARP机制了,ARP的文章网上比较容易找,只要在Google输入“ARP”查询就能找到一大堆。不过ARP机制是黑客技术,小心走火入魔陷进去了,中国就又多了个黑客,就是偶的罪过了。