The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Ламерский вопрос по htonl."
Отправлено ufobject, 20-Май-06 20:42 
>>Привет all!
>>Разбираю тут код по работе с сокетами на C++ под linux. Встретился
>>кусочек:
>>addr.sin_port = htons(3425); //С этим все ясно. Порт в открытом виде.
>>addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); //Тут не понятно
>>connect (sock, (struct sockaddr *) &addr, sizeof(addr)) //Тут тоже...
>>
>>Так вот, у меня 2 ламерских вопроса по этому небольшому кусочку.
>>1) htonl(INADDR_LOOPBACK) я понимаю что INADDR_LOOPBACK это петля 127.0.0.1, но когда я
>>попытлася передать какойнить свой IP, например 10.0.0.1, то столкнулся с проблемой...
>>Как мне через char * передать в эту htonl свои данные?
>>Я понимаю что функция ест uint32_t, но я к сожалению еще
>>ни разу не работал с этим типом, а тем более как
>>мне из юзерских данных, переданных в мою функцию через "char *USER_IP",
>>скормить их htonl'у или лучше сразу сразу конвертировать в понятную циферку
>>addr.sin_addr.s_addr'a...????
>>2) Очередной заковырк с указателями для новичка: (struct sockaddr *) &addr.
>>Не очень понимаю что сие произведение делает... Если можно, поясни, all...
>>Заранее огромное спасибо за помощь!!!
>
>
>Все очень просто. В сети данные не представляются в формате с точкой,
>а представляются 32 битным числом например loopback 0x7f000001 а htonl нужен
>для того, чтобы перевести порядок следования байт из машинного в сетевой.
>так что если хочешь использовать 10.0.0.1 используй число 0x10000001

Спасибо огромное!

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру