Программы, использующие сетевые межкомпьютерные коммуникации, должны заботиться о некоторых проблемах, связанных с интерпретацией данных, передаваемых по сети. Компьютеры на каждом конце соединения могут иметь различную аппаратную архитектуру или операционную систему, а также неодинаковые соглашения о внутреннем представлении элементов данных.
Также может иметь смысл заглянуть на сайт meduley.ru, ведь именно там можно узнать много нового на тему http://meduley.ru/salony-krasoty-fitnes-tsentry. Тема салон красоты в Смоленске может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт meduley.ru, и тема салон красоты в Смоленске начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема салон красоты в Смоленске очень подробно представлена на сайте meduley.ru. Трудно найти более детальное освещение темы салон красоты в Смоленске чем это сделано на сайте meduley.ru. Спасибо сайту meduley.ru за такое доскональное преподнесение темы салон красоты в Смоленске.
Среди таких различий — порядок следования байтов, размеры типов данных (например, целых чисел — integer), а также формат строк и массивов. Все перечисленные расхождения не играют заметной роли в коммуникациях внутри одной машины или при взаимодействии двух компьютеров, однако требуют внимания в не .однородных средах.
Данные, передаваемые по компьютерным сетям, можно разделить на две категории: закрытого типа и типизированные. Использование закрытых (opaque) данных или потоков байтов осуществляется, к примеру, при передаче файлов или модемных соединениях. Получатель воспринимает информацию как последовательность байтов и не пытается интерпретировать их каким-либо образом. Типизированные данные, наоборот, интерпретируются получателем, что требует определенного соглашения между ним и отправителем о формате. К примеру, машина, использующая обратный порядок байтов, отправляет двухбайтовое целое число 0x0103 (или 259 в десятичной системе). Получателем числа является компьютер, основанный на прямом следовании байтов, который может истолковать его как 0x0301 (десятичное 769), если между машинами не существует договоренности о форматах. Очевидно, что в данном случае отправитель и получатель не смогут понять друг друга.
Стандарт XDR [34] определяет машинно-независимое представление данных, передаваемых по сети. В стандарте описаны несколько основных типов данных, а также правил, по которым осуществляется построение более сложных типов данных. Методика XDR была разработана корпорацией Sun Microsystems и реализована для архитектуры Motorola 680x0 (рабочие станции Sun-2 и Sun-3 имели процессор 680x0) в отношении таких проблем, как порядок следования байтов. Ниже перечислены некоторые базовые определения стандарта XDR.
♦ Целые числа (integer) являются 32-разрядными, где байт 0 является старшим значащим байтом (нумерация байтов осуществляется слева направо). Целые числа со знаком представлены двумя дополнительными определениями.
♦ Закрытые данные переменной длины (variable-length opaque data) описываются полем length (четырехбайтовым целым числом) и следующими за ним данными. Данные заполняются нулями до достижения четырехбайтовой границы. Поле length не добавляется для закрытых данных фиксированного размера.
♦ Строки (string) представлены полем length и следующими за ним ASCII- кодами строки, заполненной нулями до достижения четырехбайтовой границы. Если длина строки кратна четырем, она не заканчивается байтом NULL (как это принято в UNIX).
♦ Массивы (array) однородных элементов описаны полем size, после чего следуют элементы в их обычном порядке. Поле размера является четырехбайтовым целым числом и не используется для массивов фиксированных размеров. Размер каждого элемента должен быть кратен четырем. Хотя элементы массива обязаны быть одного типа, они могут иметь неодинаковую длину, например в массиве строк.
♦ Структуры (structure), для которых кодирование их компонентов производится в обычном порядке. Каждый компонент должен дополняться до четырехбайтовой границы.
Нескорые примеры кодирования методом XDR представлены ранее
Кроме указанного набора определений стандарт предлагает спецификацию формального языка, применяемого для описания данных. Спецификации RPC, описываемые в следующем разделе, являются простыми дополнениями языка XDR. Компилятор rpcgen понимает спецификации XDR и умеет создавать процедуры, которые шифруют и расшифровывают данные, представленные в форме XDR.
Опубликовал katy
July 11 2015 15:36:48 ·
0 Комментариев ·
2277 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.