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

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

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





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

#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 оперирует с двумя категориями...


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


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


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

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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