Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функції перетворення порядку байт





Прототипи функцій

#include <netinet/in.h>unsigned long int htonl(unsigned long int hostlong);unsigned short int htons(unsigned short int hostshort);unsigned long int ntohl(unsigned long int netlong);unsigned short int ntohs(unsigned short int netshort);

Опис функцій

Функція htonl здійснює переклад цілого довгого числа з порядку байт, прийнятого на комп'ютері, в мережний порядок байт.

Функція Функція htons здійснює переклад цілого короткого числа з порядку байт, прийнятого на комп'ютері, в мережний порядок байт.

Функція Функція ntohl здійснює переклад цілого довгого числа з мережного порядку байт в порядок байт, прийнятий на комп'ютері.

Функція Функція ntohs здійснює переклад цілого короткого числа з мережного порядку байт в порядок байт, прийнятий на комп'ютері.

В архітектурі комп'ютерів i80x86 прийнятий порядок байт, при якому молодші байти цілого числа мають молодші адреси. При мережному порядку байт, прийнятому в Internet, молодші адреси мають старші байти числа.

Параметр у них – значення, яке ми збираємося конвертувати. Значення, що повертається, – те, що виходить в результаті конвертації. Напрям конвертації визначається порядком букв h (host) і n (network) в назві функції, розмір числа – останньою буквою назви, тобто htons – це host to network short, ntohl network to host long.

Для чисел з плаваючою крапкою все йде набагато гірше. На різних машинах можуть розрізнятися не тільки порядок байт, але і форма представлення такого числа. Простих функцій для їх коректної передачі по мережі не існує. Якщо вимагається обмінюватися дійсними даними, то або це потрібно робити на гомогенній мережі, що складається з однакових комп'ютерів, або використовувати символьні і цілі дані для передачі дійсних значень.

Функції перетворення IP-адрес inet_ntoa(), inet_aton()

Нам також знадобляться функції, що здійснюють переклад IP-адрес з символьного уявлення (у вигляді четвірки чисел, розділених крапками) в числове уявлення і назад. Функція inet_aton() переводить символьну IP-адресу в числове уявлення в мережному порядку байт.

Функція повертає 1, якщо в символьному вигляді записана правильна IP-адреса, і 0 інакше – для більшості системних викликів і функцій це нетипова ситуація. Зверніть увагу на використовування покажчика на структуру struct in_addr як один з параметрів даної функції. Ця структура використовується для зберігання IP-адрес в мережному порядку байт. Те, що використовується структура, що складається з однієї змінної, а не сама 32-бітова змінна, склалося історично, і автори в цьому не винуваті.

Для зворотного перетворення застосовується функція inet_ntoa().

Функції перетворення IP-адрес

Прототипи функцій

#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>int inet_aton(const char *strptr struct in_addr *addrptr);char *inet_ntoa(struct in_addr *addrptr);

Опис функцій

Функція inet_aton переводить символьну IP-адресу, розташовану по покажчику strptr, в числове уявлення в мережному порядку байт і заносить його в структуру, розташовану за адресою addrptr. Функція повертає значення 1, якщо в рядку записана правильна IP-адреса, і значення 0 інакше. Структура типу struct in_addr використовується для зберігання IP-адрес в мережному порядку байт і виглядає так:

struct in_addr { in_addr_t s_addr; };

Те, що використовується адреса такої структури, а не просто адреса змінної типу in_addr_t, склалося історично.

Функція inet_ntoa застосовується для зворотного перетворення. Числове представлення адреси в мережному порядку байт повинне бути занесено в структуру типу struct in_addr, адреса якої addrptr передається функції як аргумент. Функція повертає покажчик на рядок, що містить символьне представлення адреси. Цей рядок розташовується в статичному буфері, при подальших викликах її новий вміст замінює старий вміст.

Функція bzero()

Функція 2 настільки проста, що про неї нічого розказувати. Все видно з опису.

Функція bzero







Дата добавления: 2015-09-19; просмотров: 373. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия