|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.07.2010, 20:36 | #1 |
Регистрация: 22.07.2010
Сообщений: 3
|
Как разбить структуру на пакеты?
Собственно необходимо перевести исходную структуру в массив char-ов, разбить на куски, склеить и собрать новую структуру.
Никак не могу взять в толк, как куски собственно склеивать( Помогите Код:
|
23.07.2010, 20:56 | #2 | |
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
Цитата:
подпись
|
|
24.07.2010, 17:09 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Что собственно нужно сделать? Зачем кусками копировать? OuterStruct нормально копируется байт в байт, соответственно конструктор копии, созданный компилятором автоматически, подойдет.
Код:
|
22.08.2010, 15:54 | #4 |
Регистрация: 22.07.2010
Сообщений: 3
|
Спасибо за ответы)
Апну тему, потому что код остался тем же самым. Сейчас необходимо сделать так, чтобы в массиве inStr, что в OuterStruct, могло помещаться любое число элементов, от 1 до, допустим, тысячи. Причес вариант с объявлением размера массива в 1000 не годится. Заранее спасибо |
22.08.2010, 16:58 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Использовать контейнер из STL? Вместо массива объявляем
Код:
|
22.08.2010, 17:10 | #6 |
Регистрация: 22.07.2010
Сообщений: 3
|
Вектор тоже не годится. Вроде он довольно непредсказуемо переживает перегонку в байтовый массив и обратно (это нужно для отправки по сети). Вы точно уверены, что так его не сглючит?
|
22.08.2010, 21:43 | #7 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
разбиваем данные на две логические части: заголовок пакета и тело пакета. В заголовке содержатся все постоянные величины. А в теле - все строки переменной длины и прочие нефиксированные данные. Если используется TCP, то можно сначала отправить заголовок с указанием числа InnerStruct, а потом уже по отдельности каждую структуру. А вот на приёмнике можно уже использовать и вектор и строки и что угодно. Да и в передатчике не обязательно хранить всё в том виде, в каком оно будет отправляться по сети. Храним всё так, как удобно, а вот уже для отправки по сети, конвертируем в соответствующий вид. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как можно перехватывать пакеты полученные из инета??? | xxxSHAPxxx | Помощь студентам | 1 | 12.04.2010 00:23 |
как увидеть реляционную структуру SQL? | Bendebej | SQL, базы данных | 5 | 03.02.2010 15:05 |
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) | Banderas123 | Помощь студентам | 3 | 07.12.2009 18:26 |
Как усложнить структуру ссылки? | vlad-55 | JavaScript, Ajax | 1 | 05.03.2009 20:15 |
Как лучше организовать структуру MySQL? | Romanbl4 | PHP | 7 | 26.06.2008 23:46 |