请问在同一个网段中获取所有能与本机相通的主机IP有什么好的算法?

longki 2003-08-19 08:48:43

请问在同一个网段中获取所有能与本机相通的主机IP有什么好的算法?
我现是用搜索法,再用PING命令去测试,结果程序运行好慢,从1到256要花俺2分钟的时间,太长了,有没有好一点的算法或源程序之类的东东,谢谢!
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longki 2003-08-21
  • 打赏
  • 举报
回复

TO:zqfleaf(动力港湾) ,在NR As NETRESOURCE中NetResource是什么东东?
longki 2003-08-20
  • 打赏
  • 举报
回复

TO:zqfleaf(动力港湾) ,我要的不是本机的机器名! 谢~~~~~~~

楼上能否有个什么实例或说一下具体是哪一API啊?谢了~~~~~
longki 2003-08-20
  • 打赏
  • 举报
回复

TO:zqfleaf(动力港湾) ,我要的不是本机的机器名! 谢~~~~~~~

楼上能否有个什么实例或说一下具体是哪一API啊?谢了~~~~~
jlum99 2003-08-19
  • 打赏
  • 举报
回复
用icmp API函数做PING 程序,比较容易实现
zqfleaf 2003-08-19
  • 打赏
  • 举报
回复
以上代码在2000中通过,98下有问题。你得到机器名后用gethostbyname函数可以得到IP地址。
zqfleaf 2003-08-19
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
Dim hEnum As Long, lpBuff As Long, NR As NETRESOURCE
Dim cbBuff As Long, cCount As Long
Dim p As Long, res As Long, i As Long
Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(, , "R", "Root")
If Err.Number > 0 Then Exit Sub
NR.lpRemoteName = 0
cbBuff = 10000
cCount = &HFFFFFFFF
res = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, NR, hEnum)
If res = 0 Then
lpBuff = GlobalAlloc(GPTR, cbBuff)
res = WNetEnumResource(hEnum, cCount, lpBuff, cbBuff)
If res = 0 Then
p = lpBuff
For i = 1 To cCount
CopyMemory NR, ByVal p, LenB(NR)
nodX.Text = PointerToString(NR.lpRemoteName)
nodX.Image = 1
'List1.AddItem PointerToString(NR.lpRemoteName)
p = p + LenB(NR)
Next i
WNetCloseEnum (hEnum)
hEnum = 0
res = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, NR, hEnum)
If res = 0 Then
lpBuff = GlobalAlloc(GPTR, cbBuff)
cCount = &HFFFFFFFF
res = WNetEnumResource(hEnum, cCount, lpBuff, cbBuff)
If res = 0 Then
p = lpBuff
For i = 1 To cCount
CopyMemory NR, ByVal p, LenB(NR)
Set nodX = TreeView1.Nodes.Add("R", tvwChild, PointerToString(NR.lpRemoteName), "")
nodX.Text = PointerToString(NR.lpRemoteName)
nodX.Image = 2
'List1.AddItem PointerToString(NR.lpRemoteName)
p = p + LenB(NR)
Next i
End If
End If
WNetCloseEnum (hEnum)
End If
End If
End Sub

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧