Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.06.2018, 23:40
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Сообщение о конфликте ip адресов

драсте
мне нужно написать программу следящюю когда возникает конфликт ip адресов
подскажите через какое сообщение программа может узнать о наступлении конфликта
Ответить с цитированием
  #2  
Старый 05.06.2018, 21:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не думаю, что тут будет какое-нить стандартное сообщение.
Скорее всего придется лезть в св-ва сетевого адаптера и получать информацию оттуда.
А нафига тебе это надо, ведь винда сама тебе сообщит об этом на машине, которая попробует получить уже занятый адрес. Да и глупо это, кроме серверов, все давно уже по умолчанию получают адреса по DHCP, а тут уже DHCP-сервер обеспечит отсутсвие конфликтов (ну если вообще адресов хватит, но случай, когда более 254 компов в одной подсети - это поискать надо).
Ответить с цитированием
  #3  
Старый 06.06.2018, 05:31
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

правильно
DHCP сама проследит за тем шоб не было двойников
и в основном все так и бывает
но изредка у провайдера бывает глюк
и DHCP некоторым на время прекращает дарить ip адреса
если ip прописать вручную то все работает
через какое то время вернеться щасте
но не всегда хочеться ждать
вот я и хотел сделать программу которая следит за свободными адресами
она сама себе назначает адрес наиболее свободный
и как тока кто то пытаеться включиться на этот адрес быстро уходит на другой
Ответить с цитированием
  #4  
Старый 06.06.2018, 21:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Хм... непонятно как к этому подойти.
В принципе, можно попробовать послать arp-запрос.
Но я бы скорее копал бы в сторону NMP или чего-то подобного. Просто спрашивать у роутера (или DHCP) о свободности адреса. А понять, что не получилось получить адрес - в таком случае винда присваивает себе адрес из определенной подсети, прописанной жестко (поищи в гугле). Ну или по крайней мере, что адрес не из подсети роутера.
Ну вот как-то так.
Ответить с цитированием
  #5  
Старый 06.06.2018, 23:12
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

сильно вмешиваться в дело админа я не могу я просто пользователь
и посмотреть список розданых адресов нет возможности
ай пи раздает керио
я переподключаюсь результата адрес 169....
с этим адресом он не куда не лезит
Ответить с цитированием
  #6  
Старый 07.06.2018, 04:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну вот в ту сторону и копай.
Т.е. как только получил адрес 169.x.x.x, то значит есть проблемы.
Далее, если у тебя стандартная сеть, т.е. что-то типа 192.168.х.х, то просто можно попробовать пингануть весь диапазон адресов для того, что бы выяснить - свободен адрес или нет. Там будет всего 255 адресов.
Ответить с цитированием
  #7  
Старый 07.06.2018, 05:24
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

сценарий программы будет таким
когда все нормально работает
программа пингует весь диапазон
составляет список менее всего занятых адресов
при получении адреса 169...
произойдет событие не получен адрес
тогда пробрама назначит менее занятый адрес
будет пользоваться
а когда она зафиксируе простой компа
будет пытаться включить автоматический адрес
Ответить с цитированием
  #8  
Старый 08.09.2018, 05:54
martin88 martin88 вне форума
Прохожий
 
Регистрация: 08.09.2018
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Чес говоря вопрос не понял, можно более корректно.
Ответить с цитированием
  #9  
Старый 08.09.2018, 08:45
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

более кортко
хочу написать програму которая сама себе назначает ip адрес
но при этом как тока кто то включаеться на этот этот адрес программа меня делает другим ip адресом
Ответить с цитированием
  #10  
Старый 08.09.2018, 21:23
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Программа НЕ НАЗНАЧАЕТ себе адрес. Адрес получает компьютер. При динамическом назначении IP адресов и правильной конфигурации сети вообще такой ситуации быть не должно, все отслеживает DHCP сервер.
Ответить с цитированием
  #11  
Старый 08.09.2018, 21:35
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

я в начале писал шо проблема в том шо DHCP не всегда нормально работает
поэтому появилась необходимость самому себе назначать адрес
Ответить с цитированием
  #12  
Старый 08.09.2018, 22:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Значит неправильно сконфигурирован DHCP. Например, не зарезервированны статические IP адреса - что бы он их не выдавал.
Ответить с цитированием
  #13  
Старый 09.09.2018, 07:52
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

я не могу вмешиваться в работу провайдера
а там глюки бывают
и он раздавать перестает
через некоторое время все востановиться
но не хочеться ждать
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter