Вниз
Скачать: CL | DM;

кодировка ip адреса   Найти похожие ветки 

← →
Sour   (2005-07-19 06:27) [0]

Пришлось работать с уже созданной БД для накопления статистики по трафику. Во всех таблицах ip адрес записывается в поле int(10).

В связи с этим 2 вопроса:
1. Как получить стандартное представление адреса (напр, 192.168.1.1) имеея его в значении int(10) и наоборот?

2. Как можно проверить принадлежность ip адреса некоторому диапазону, если он задан как int(10)?


← →
Strech   (2005-07-19 07:32) [1]

ну угадать, как разработчик БД зашифровал IP в int(10) сложно. Можно предположить, что он представил IP в виде строки, удалил все точки и перевел полученный результат в int. Соответственно ответ на первый вопрос - это обратный алгоритм. Ну а второй ответ вытекает из первого


← →
wal ©   (2005-07-19 09:55) [2]


> напр, 192.168.1.1

1+1*256+168*265*265+192*256*256*256 = 3232235777
Причем тут int(10)?

С уважением.


← →
wal ©   (2005-07-19 09:59) [3]

Ошибочка вышла ...168*256*256...


← →
tesseract   (2005-07-19 10:35) [4]

>>1+1*256+168*265*265+192*256*256*256 = 3232235777

1+(1 shl 8)+(168 shl 16)+(192 shl 24)? - раз в н-дцать быстрее


← →
Lamer@fools.ua ©   (2005-07-19 10:36) [5]

>>Sour   (19.07.05 06:27)

Телепаты в бессрочном отпуске.

>>tesseract   (19.07.05 10:35) [4]

Уверены?


← →
wal ©   (2005-07-19 10:40) [6]


> раз в н-дцать быстрее
Я только принцип показал, а как уж автор считать будет - дело его.
Кстати, еoе быстрее просто положить байты в память в нужной последовательности, а потом прочитать их как DWORD.


← →
tesseract   (2005-07-19 10:44) [7]

Для Справки IP-адрес это 32-битное число

To>> Lamer@fools.ua
да промахнулся  работать будет не всегда
лучше oktet:array[1..4] of int32; и писать октеты сюда.


← →
wal ©   (2005-07-19 10:47) [8]

oktet:array[1..4] of int32
???


← →
Anatoly Podgoretsky ©   (2005-07-19 11:09) [9]

Спасайся кто может.


← →
DiamondShark ©   (2005-07-19 12:12) [10]

А кто не может?


← →
Anatoly Podgoretsky ©   (2005-07-19 12:17) [11]

Тому вечная память.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
1-1121728449
jcrush
2005-07-19 03:14
2005.08.07
Найти в списке memo буквы КД и по горячим клавишам заменить


8-1112626691
Charly22
2005-04-04 18:58
2005.08.07
Создание эскизов графических файлов


14-1121389485
Джо
2005-07-15 05:04
2005.08.07
To whom it may concern.


4-1118215991
kkostik
2005-06-08 11:33
2005.08.07
Drag&Drop


4-1118140335
Андрей Жук
2005-06-07 14:32
2005.08.07
Функция, обратная wsprintf




   Наверх