Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Сетевое программирование
Перезагрузить страницу Как найти все компьютеры в сети
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
evgeni_8686 evgeni_8686 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.03.2010
По умолчанию 26.03.2010, 19:05

Пишу программу для поиска по сети.
Нужно найти все компьютеры сети.
Как это сделать?
Делал:
Код:

Код:
void GetNetworkComputers()
{
    DWORD NetSize = NULL, NetSize2 = NULL, NetSize3 = NULL, NetCount = NULL, NetCount2 = NULL, NetCount3 = NULL;
    HANDLE nConnectedEnum = NULL,nConnectedEnum2 = NULL,nConnectedEnum3 = NULL;
    NETRESOURCE nr1[32] = {0};
    NETRESOURCE nr2[256] = {0};
    NETRESOURCE nr3[3200] = {0};
    DWORD iii = 0;
    int res; 
    WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,NULL,&nConnectedEnum);
    NetSize = sizeof(nr1);
    NetCount = 0xFFFFFFFF;
    WNetEnumResource(nConnectedEnum,&NetCount,nr1,&NetSize);
    DWORD i = 0;
    while (i < NetCount)
    {
        nConnectedEnum2 = INVALID_HANDLE_VALUE;
        res = WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,&nr1[i],&nConnectedEnum2);
        if (res == NO_ERROR)
        {
            NetSize2 = sizeof(nr2);
            NetCount2 = 0xFFFFFFFF;
            DWORD EnumCode = WNetEnumResource(nConnectedEnum2,&NetCount2,nr2,&NetSize2);
            DWORD ii = 0;
            while (ii < NetCount2)
            {
                cout << nr2[ii].lpRemoteName << endl;
                nConnectedEnum3 = INVALID_HANDLE_VALUE;
                res = WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,&nr2[ii],&nConnectedEnum3);
                if (res == NO_ERROR)
                {
                    NetSize3 = sizeof(nr3);
                    NetCount3 = 0xFFFFFFFF;
                    DWORD EnumCode = WNetEnumResource(nConnectedEnum3,&NetCount3,nr3,&NetSize3);
                    iii = 0;
                    while (iii < NetCount3)
                    {
                        cout << "----" << &nr3[iii].lpRemoteName[2] << ", IP is: ";
                        GetIPFromName(&nr3[iii].lpRemoteName[2]);
                        cout << endl;
                        iii++;
                    };
                };
                ii++;
            };
        };
        i++;
    };
    return;
};
В ХР наботает нормально а вин 7 не работает (Может из-за того что на компютере с Вин 7 есть еще WiFi адаптер)

Можно ли как-то быстрее найти все IP?
Слышал о переборе и ARР запросах но не знаю как их делать.
Еще слышал про ДНС серверы но как к нему сделать запрос тоже не знаю.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Планшетные компьютеры smames Ноутбуки и нетбуки 0 25.10.2011 07:38
Новые компьютеры olaff Любые вопросы от новичков 9 20.06.2011 15:32
Виснут компьютеры Вика Баламут Техническая поддержка 19 31.03.2011 16:58
Неудается запинговать компьютеры в сети student1 Любые вопросы от новичков 2 07.03.2011 14:11
Поможет ли стабилизатор если в сети 160. Требуется подключить ноутбук к сети. DENDENDEN Техническая поддержка 7 03.05.2010 11:03
Семантические сети где найти информацию Bar Информационные технологии 2 13.04.2010 16:38
Как найти все компьютеры в сети evgeni_8686 Visual C++ 0 29.03.2010 17:00
Компьютеры RavenField Подбор комплектующих 5 26.10.2009 12:49
Помогите с WiFi (TP-LINK), не подключаются компьютеры к открытой сети. @ndrei Любые вопросы от новичков 4 15.08.2008 10:11
Нейронные сети где найти книгу по ним alex_paa Информационные технологии 1 05.10.2007 13:41
Где в сети найти толковую книгу по C++Builder 6 на русском Bonez C++ Builder 5 18.02.2004 16:23
Необходимо авт. найти сервер в сети .... TNT Visual Basic 1 16.09.2003 21:13



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов