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

 



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

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

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

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

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

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

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

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

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

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

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

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

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



RAD Studio XE8

Комплексное решение для разработки программного обеспечения, ускоряющее проектирование, программирование и создание взаимодействующих приложений для Windows, Mac, iOS, Android и IoT. Создавайте готовые решения корпоративного класса, включая разные клиентские native-платформы, мобильные расширения, умные устройства, облачные службы, корпоративные и встроенные базы данных.


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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter