История изменений
Исправление alysnix, (текущая версия) :
указатель на имя - просто адрес в памяти твоей машины, его передавать смысла нет. Чтобы такое передать надо пакетом передавать сначала order, length, потом саму строку(если length это ее длина)
на приеме принять order, lenght, алокировать буфер на эту длину, принять строку в буфер, поставить в поле name адрес буфера.
поскольку массив - это надо повторить для каждого элемента, перед передачей всего массива передать его длину.
если негарантированная передача - сделать crc сумму на data_t. при передаче считать сумму и передавать после передачи data_t
при приеме тоже считать crc сумму, если не совпадает - дуть к красный свисток и вызывать мастера.
все протоколы будут делать примерно то же самое.
упаковывать ничего не надо… если это не совсем узкий канал. будут проблемы со скоростью передачи - ну может упаковать данные строки, если она пакуется вообще.
Исходная версия alysnix, :
указатель на имя - просто адрес в памяти твоей машины, его передавать смысла нет. Чтобы такое передать надо пакетом передавать сначала order, length, потом саму строку(если length это ее длина)
на приеме принять order, lenght, алокировать буфер на эту длину, принять строку в буфер, поставить в поле name адрес буфера.
поскольку массив - это надо повторить для каждого элемента, перед передачей всего массива передать его длину.
если негарантированная передача - сделать crc сумму на data_t. при передаче считать сумму и передавать после передачи data_t
при приеме тоже считать crc сумму, если не совпадает - дуть к красный свисток и вызывать мастера.
все протоколы будут делать примерно то же самое.