如题:
我的做法://得到局域网内所有计算机名
LPVOID Buffer = new char[2048];
WNetEnumResource( hEnum, &Count, Buffer, &BufferSize);
NetResource = (NETRESOURCE *)Buffer;int nSize = BufferSize / sizeof(NETRESOURCE);CSocket sockClient;
sockClient.Create();
//循环检测
for (int i = 0; i < nSize; i ++, NetResource ++)
{
if (NetResource->dwUsage == RESOURCEUSAGE_CONTAINER
&& NetResource->dwType == RESOURCETYPE_ANY)
{
if (NetResource->lpRemoteName)
{
strFullName = NetResource->lpRemoteName; ****
//得到IP地址
....
//检测
sockClient.Connect(strIP, SOCK_PORT);
//判断是否连通
**** }
}
}sockClient.ShutDown(2);
sockClient.Close();
〉〉〉〉〉
这样的话速度比较慢,我这里大概20台电脑,全部检测完大概需要30~45秒,如何快速实现,谢谢!
我的做法://得到局域网内所有计算机名
LPVOID Buffer = new char[2048];
WNetEnumResource( hEnum, &Count, Buffer, &BufferSize);
NetResource = (NETRESOURCE *)Buffer;int nSize = BufferSize / sizeof(NETRESOURCE);CSocket sockClient;
sockClient.Create();
//循环检测
for (int i = 0; i < nSize; i ++, NetResource ++)
{
if (NetResource->dwUsage == RESOURCEUSAGE_CONTAINER
&& NetResource->dwType == RESOURCETYPE_ANY)
{
if (NetResource->lpRemoteName)
{
strFullName = NetResource->lpRemoteName; ****
//得到IP地址
....
//检测
sockClient.Connect(strIP, SOCK_PORT);
//判断是否连通
**** }
}
}sockClient.ShutDown(2);
sockClient.Close();
〉〉〉〉〉
这样的话速度比较慢,我这里大概20台电脑,全部检测完大概需要30~45秒,如何快速实现,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货