LINUX.ORG.RU

История изменений

Исправление invy, (текущая версия) :

Как определить когда начинается не мусор

в таких случаях использую «заголовок», то есть некий байт(может быть даже не один), который говорит что после него начинаются данные. Заголовок так же описывает тип данных и скорее всего размер, чтобы знать, сколько памяти нужно выделить.

Но это не гарантирует, что на другой машине будет то-же самое. А можно ли явно задать, какой byte order я хочу?

Самому кодировать данные. (На самом деле существует уже много библиотек, которые позволяют всё это делать).

Вообще, то что тебе надо называется словами «сериализация», и «маршаллинг».

Собсна весь TCP/IP - это не «rocket science», наждый пакет имеет какой-то формат, имеет заголовок, имеет данные. На каждом уровне ISO/OSI модели к пакету нижнего уровня добавляются дополнительные данные, необходимые для передачи пакета на этом кровне и так далее.

Например: http://www.infocellar.com/networks/images/OSI-2.png

Исправление invy, :

Как определить когда начинается не мусор

в таких случаях использую «заголовок», то есть некий байт(может быть даже не один), который говорит что после него начинаются данные. Заголовок так же описывает тип данных и скорее всего размер, чтобы знать, сколько памяти нужно выделить.

Но это не гарантирует, что на другой машине будет то-же самое. А можно ли явно задать, какой byte order я хочу?

Самому кодировать данные. (На самом деле существует уже много библиотек, которые позволяют всё это делать).

Вообще, то что тебе надо называется словами «сериализация», и «маршаллинг».

Собсна весь TCP/IP - это не «rocket science», наждый пакет имеет какой-то формат, имеет заголовок, имеет данные. На каждом уровне ISO/OSI модели к пакету нижнего уровня добавляются дополнительные данные, необходимые для передачи пакета на этом кровне и так далее.

Исправление invy, :

Как определить когда начинается не мусор

в таких случаях использую «заголовок», то есть некий байт(может быть даже не один), который говорит что после него начинаются данные. Заголовок так же описывает тип данных и скорее всего размер, чтобы знать, сколько памяти нужно выделить.

Но это не гарантирует, что на другой машине будет то-же самое. А можно ли явно задать, какой byte order я хочу?

Самому кодировать данные. (На самом деле существует уже много библиотек, которые позволяют всё это делать).

Вообще, то что тебе надо называется словами «сериализация», и «маршаллинг».

Исходная версия invy, :

в таких случаях использую «заголовок», то есть некий байт(может быть даже не один), который говорит что после него начинаются данные. Заголовок так же описывает тип данных и скорее всего размер, чтобы знать, сколько памяти нужно выделить.

Но это не гарантирует, что на другой машине будет то-же самое. А можно ли явно задать, какой byte order я хочу?

Самому кодировать данные. (На самом деле существует уже много библиотек, которые позволяют всё это делать).

Вообще, то что тебе надо называется словами «сериализация», и «маршаллинг».