История изменений
Исправление 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 я хочу?
Самому кодировать данные. (На самом деле существует уже много библиотек, которые позволяют всё это делать).
Вообще, то что тебе надо называется словами «сериализация», и «маршаллинг».