Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстрое определение адреса [D5, D7, Win95/98, Win2k, WinXP]


kevinkf ©   (2003-11-15 15:25:00) 

Здравствуйте, мастера. У меня такой вопрос: мне необходимо определить что пакет отправлен из моей локальной сети (совпадает первые три числа, допустим 192,168,0,...
Я определяю сначала адрес в строку исплоьзуюя функции TInAddr и Inet_Ntoa, подскажите, если кто знает как это можно проверить без длительных преобразований. А то при большом количестве пакетов, программа "пригружается".
С уважением, Евгений


Digitman   (2003-11-16 15:27:00) [1]


> А то при большом количестве пакетов, программа "пригружается".
>


уж не знаю , что ты подразумеваешь под "пригружается", но преобразовывать IP-адрес в строковый вид (с пом. вышеупомянутой ф-ции Inet_Ntoa) для вышеупомянутой цели действительно неразумно

достаточно взять поле структуры TInAddr.s_addr, подать его на вход ф-ции ntohl(), получить рез-т в виде Intel Byte Order, налодить соотв. маску подсети - и проблема решена.


Наверх

Титульная страница Поиск, карта сайта Написать письмо