Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
StreetNBA
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 8
#1

Помогите со сканером сети, немогу закончить программу - C++

29.11.2011, 11:12. Просмотров 619. Ответов 6
Метки нет (Все метки)

Всем добрый день, пишется сканер для сети, определяющий айпи всех пользователей и.т.д.
В процесе возникла следующая проблема:
Как отлавливать длительность пребывания пользователя в сети, или хотя-бы время появления и выхода айпи в сеть(и).

Всем заранее спасибо за помощь))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 11:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите со сканером сети, немогу закончить программу (C++):

Помогите закончить программу! - C++
Не получается написать программу. Нужно подсчитать количество иногородних пациентов. #include <fstream.h> // для файловых потоков ...

Помогите со сканером портов. - C++
Всем привет кто решил почитать эту тему. У меня вопрос: Есть ли код сканерапотов на С++ с маломайским описанием.

Помогите закончить код, пожалуйста! - C++
почти закончил программу! ну не знаю, что дальше делать! помогите пожалуйста! Расчет зарплаты. структура должна иметь такие поля: ...

Закончить программу - C++
есть кусок программы: class Combinations { public: Combinations (int n, int m); vector <int> operator *(); ...

Дан массив целых чисел из n элтов заполненых случ образом.Помогите закончить задачу. - C++
Дан массив целых чисел из n элтов заполненных случайным образом числами из промежутка .НАЙТИ СУММУ ЭЛ-ТОВ ЗНАЧЕНИЕ КОТОРЫХ КРАТНЫ 3 И 5. ...

Не могу закончить программу - C++
Сделал часть программы,но не получается никак сделать 2 часть: Выведите список студентов, которым будет предоставляться места в...

6
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 11:28 #2
пинговать каждый промежуток времени ?
0
HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
29.11.2011, 12:23 #3
Естественно лучший вариант по моему мнению это опрашивать список определенных пользователей в сети то есть их ай пи через каждый проможуток времени который будет являться погрешностью времени нахождения их в сети
1
StreetNBA
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 8
29.11.2011, 12:28  [ТС] #4
Чего -то непонял))
Вот код который отвечает за нахождение всех айпи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Form3->Show();
IdNetworkCalculator1->NetworkAddress->AsString = IdIPWatch1->LocalIP() ;  // ïîëó÷Г*ГҐГ¬ ñîáñòâåГ*Г*ûé IP
       IdNetworkCalculator1->NetworkMask->AsString    = "255.255.255.0";         //Г¬Г*Г±ГЄГ* ïîäñåòè
       IdNetworkCalculator1->FillIPList();                                       //ñïèñîê âîçìîæГ*ûõ IP Гў Г±ГҐГІГЁ
        Form3->ipList->Items->SaveToFile("history.txt");
       Form3->ipList->Clear();
 
 
       TNMUDP *NMUDP1;
        for (int i = 0; i < IdNetworkCalculator1->ListIP->Count ; i++)
         {
            NMUDP1->RemoteHost =  IdNetworkCalculator1->ListIP->Strings[i];
            NMUDP1->SendBuffer(" HI ", 5 , 5);
 
 
         }
Т.е. исп IdNetworkCalculator, как можно записать время когда появился новый айпи, как отловить этот процесс опираясь на даный код
0
HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
29.11.2011, 12:46 #5
Цитата Сообщение от StreetNBA Посмотреть сообщение
Чего -то непонял))
Вот код который отвечает за нахождение всех айпи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Form3->Show();
IdNetworkCalculator1->NetworkAddress->AsString = IdIPWatch1->LocalIP() ;  // ïîëó÷Г*ГҐГ¬ ñîáñòâåГ*Г*ûé IP
       IdNetworkCalculator1->NetworkMask->AsString    = "255.255.255.0";         //Г¬Г*Г±ГЄГ* ïîäñåòè
       IdNetworkCalculator1->FillIPList();                                       //ñïèñîê âîçìîæГ*ûõ IP Гў Г±ГҐГІГЁ
        Form3->ipList->Items->SaveToFile("history.txt");
       Form3->ipList->Clear();
 
 
       TNMUDP *NMUDP1;
        for (int i = 0; i < IdNetworkCalculator1->ListIP->Count ; i++)
         {
            NMUDP1->RemoteHost =  IdNetworkCalculator1->ListIP->Strings[i];
            NMUDP1->SendBuffer(" HI ", 5 , 5);
 
 
         }
Т.е. исп IdNetworkCalculator, как можно записать время когда появился новый айпи, как отловить этот процесс опираясь на даный код
В начале работы программы включи системный таймер - запиши в него системное время. Затем отслеживай нахождение в сети пользователей если кто то пропал то вычитаешь из настоящего времени то которое записал в начале работы программы эта разница с погрешностью в один период опроса и будет временим нахождения в сети. понятно ? а опрашивать надо в цикле по обычному компоненту - тймеру
2
StreetNBA
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 8
29.11.2011, 13:04  [ТС] #6
Как отследить когда кто-то пропадет?

Добавлено через 8 минут
И этот метод слегка не подходит, т.к. айпи может подсоеденится к сети уже во время работы рограммы(
0
HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
29.11.2011, 13:47 #7
Цитата Сообщение от StreetNBA Посмотреть сообщение
Как отследить когда кто-то пропадет?

Добавлено через 8 минут
И этот метод слегка не подходит, т.к. айпи может подсоеденится к сети уже во время работы рограммы(
Ну если логически посудить .. У тебя есть его ай пи в списке найденных на момент поиска потом , при следующих опросох его ай пи пропал из списка то есть он не ответил на эхо запрос следовательно его в сети больше нет
1
29.11.2011, 13:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 13:47
Привет! Вот еще темы с ответами:

Надо закончить программу - C++
Задача такая: Дана строка, содержащая произвольный текст. Сколько слов в тексте? Сколько цифр в тексте? Решил не сдирать из...

Закончить программу, вывод на экран - C++
Записать выходной файл, добавить к каждому числу среднее арифметическое наименьшего по абсолютной величине и наибольшего из чисел файла. ...

немогу никак понять в чем ошибка=(помогите плиз! - C++
есть вот такой вот код : #include &lt;iostream.h&gt; #include &lt;math.h&gt; void main(void) { int...

как через оператор else закончить программу?? - C++
я пишу тест - курсовую и не знаю как предотвратить лишние нажатия enter'a помогите плиз)))


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.