Вы говорите, массив из 16 байтов.Это не очень помогает.Порядковый номер имеет значение только для вещей размером больше байта.
Если это действительно необработанные байты, просто отправьте их, вы получите их точно так же
Если это действительно структура, которую вы хотите отправить
struct msg
{
int foo;
int bar;
.....
Затем вам нужно проработать буфер, извлекая нужные значения.
При отправке вы должны собрать пакет в стандартный порядок
int off = 0;
*(int*)&buff[off] = htonl(foo);
off += sizeof(int);
*(int*)&buff[off] = htonl(bar);
...
, когдавы получаете
int foo = ntohl((int)buff[off]);
off += sizeof(int);
int bar = ntohl((int)buff[off]);
....
РЕДАКТИРОВАТЬ: я вижу, что вы хотите отправить IPv6-адрес, они всегда в сетевом порядке байтов - так что вы можете просто передать его в сыром виде.