LeXa-XL wrote:
> т.е. фактически ты предлагаешь побайтно записать данные структуры struct data в отсылаемый через сокет буфер char*buf?
Я предлагаю использовать какой-либо формат.
Есле тебе нужен бинарный, то можно взять XDR. XDR позаботится за тебя о правильном размере и порядке байтов фундаментальный типов. Для твоей структуры ф-ция сериализации будет выглядеть так:
bool_t xdr_data(XDR* x, data* d)
{
char* p;
xdr_u_long(x, &d->id);
xdr_u_long(x, &d->size);
xdr_u_long(x, &d->type);
p = d->name;
xdr_string(x, &p, sizeof(d->name));
p = d->addr;
xdr_string(x, &p, sizeof(d->addr));
xdr_u_long(x, &d->p);
return 1;
}
Объект XDR ты можешь взять готовый из библиотеки или создать собственный, который будет писать куда тебе нужно.
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9