Вниз
Скачать: 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.022 c
1-1121453808
Destroyer
2005-07-15 22:56
2005.08.07
Помогите, плз, с динамическим созданием двумерного массива


1-1121531102
Defunct
2005-07-16 20:25
2005.08.07
AV при создании формы-фрейма


14-1121458098
DiamondShark
2005-07-16 00:08
2005.08.07
Братья-славяне, помогите!


6-1114857049
VVV-First
2005-04-30 14:30
2005.08.07
TClientSocket or TIdTCPClient


14-1121668876
GRAND25
2005-07-18 10:41
2005.08.07
Москва - Спартак 3:1!!!




   Наверх